哇! 安装的好烦啊, 最后发现是自己网络的原因. 静心总结一下吧!!!
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 操作不当容易引发版本冲突
从而出现各种问题, 对后面的工作造成影响, 所以一定要注意.
来源: http://www.bubuko.com/infodetail-2585503.html