Linux(Redhat)安装python虚拟环境
哇!安装的好烦啊,最后发现是自己网络的原因。静心总结一下吧!!!
python是3.6
centos 6 64位
1.安装python
https://blog.csdn.net/O_OKKk/article/details/80170471
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
上一篇: 总能令人想歪的冷幽默