当前位置:首页 >> 脚本专栏

Linux(Redhat)安装python3.6虚拟环境(推荐)

python是3.6

centos 6 64位

1.安装python

2.安装pip

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py

可能会报错!!!如:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

执行python,进入python命令行,输入下面的代码,进行检查:

import ssl

可能还会报错

import ssl
Traceback (most recent call last):
File “”, line 1, in
File “/usr/local/python27/lib/python2.7/ssl.py”, line 60, in
import _ssl # if we can't import it, let the error propagate
ImportError: No module named _ssl

查看是否安装openssl 和 openssl-devel

[xxx@xxx ~]# rpm -aq|grep openssl 
openssl-x.x.xe-x.xxx
openssl-devel-xxx-xxx

如果没有这两个包,就老老实实地安装吧

[root@localhost ~]# yum install openssl-devel -y 

这是安装的代码,但是还是会出现错误,我的天哪

这是因为用于linux的yum命令是用python作为命令解释器的,我们把python从linux本来自带的2升级到3了

解决办法:

a.升级yum,算了,一搜太麻烦

b.找到usr/bin/yum,打开将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.6"即可。2.6是我linux自带的版本

接下来就是再次安装上面的缺少的包openssl和openssl-devel

3.重新编译一下python(重装)

有的需要改一下vi /usr/software/Python-3.6.3/Modules/Setup 但我没找到,直接跳过了,但最后也成功了

 Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
 Socket module helper for SSL support; you must comment out the other
 socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl -L$(SSL)/lib -lssl -lcrypto

然后再重新编译

4.接下来就是执行python get-pip.py,当然可以再测试一下第2步

安装完后,使用 pip -V 报错,如下:

bash: pip: command not found...

这时候怎么办呢??

做一个软连接即可:

首先查下安装路径:

find / -name pip

然做个软连接

ln -sv /usr/local/python/bin/pip /usr/bin/pip

做完就可以用了

5.接下来简单了

a.安装 虚拟环境

pip install virtualenv
pip install virtualenvwrapper (管理虚拟环境的扩展包)
# 创建用来保存虚拟环境的文件夹
mkdir ~/Envs
sudo vi ~/.bashrc
# 添加下面两行
export WORKON_HOME=~/Envs (如果不写会有读写权限问题)
source /usr/local/bin/virtualenvwrapper.sh
# 运行 source ~/.bashrc

b.使用

# 新建
mkvirtualenv -p (python版本) name (创建的虚拟环境可以在上面设置的路径文件夹里面找到)
# 选择 
workon name
# 删除
rmvirtualenv name 
# 退出
deactivate

总结:虚拟环境的建立非常必要,但是因为升级python 操作不当容易引发版本冲突

从而出现各种问题,对后面的工作造成影响,所以一定要注意。

对于找不到 virtualenv 的报错解决

出现这种错误,是因为 virtualenv 这个基础依赖包被安装在了Mac 的默认 Python 目录下,就需要做一个软连接 ln -s。

ERROR: virtualenvwrapper could not find virtualenv in your path

首先还是用 find / -name "virtualenv" 去找到位置,最后这一行就是 virtualenv,可以看见在 Frameworks 目录,即 Mac 自带 Python 所在的位置。

sudo find / -name "virtualenv"
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv

最后进行软连接

$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/v

总结

以上所述是小编给大家介绍的Linux(Redhat)安装python3.6虚拟环境,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!