CentOS如何解决ImportError: No module named virtualenv问题

欢迎您,来自IP地址为:54.227.51.103的朋友

付款前,可以输入宝贝名称查一查有没有优惠券可以用哦!


近期在CentOS系统使用Letsencrypt更新域名证书时,会出现如下错误信息:ImportError: No module named virtualenv,具体显示如下所示:

[root@server~]#  ./certbot-auto renew >> /var/log/letsencrypt.log
Traceback (most recent call last):
  File "/usr/bin/virtualenv", line 2, in 
    import virtualenv
ImportError: No module named virtualenv

virtualenv会默认安装在/usr/local/bin目录,但是运行该程序时会出现同样的错误:

[root@server~]#  /usr/bin/virtualenv
Traceback (most recent call last):
  File "/usr/bin/virtualenv", line 2, in 
    import virtualenv
ImportError: No module named virtualenv

如何解决这个问题呢?

分析问题原因,如果默认的virtualenv程序报同样的错误,很有可能是由于它没有被正确或者是恰当的安装,通过Python-pip重新安装virtualenv会解决这个问题。步骤如下:

1、安装Python-pip

Pip是一个python软件包管理工具,可通过它来安装和管理用python语言编写的软件(Python Package Index)。默认情况下,python 2.7.9以后的2系列版本以及python 3.4以后的3系列版本都已经包含了pip。

如果系统没有安装,也不用着急,CentOS系统可以使用yum方式安装,也可以使用一个python脚本联网安装。示例如下:

[root@server~]# yum install python-pip                                                     //采用yum方案安装
[root@server~]# curl https://bootstrap.pypa.io/get-pip.py | python          //采用联网方式安装

2、重新安装virtualenv
重新安装virtualenv需要采用pip方式安装。

[root@server~]# pip install virtualenv
::::
Installing collected packages: virtualenv
Successfully installed virtualenv-13.1.2

安装完成后,会生成/usr/bin/virtualenv文件,可以运行virtualenv命令,不带任何参数运行该命令时,在显示命令的帮助文件,此时即表示virtualenv安装成功。

之后再用certbot程序更新证书就不会出现任何报错了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注