人望山,鱼窥荷,真正喜欢想要的,没有一样可以轻易得到。
目录
# 1. 解决版本冲突问题--建议不要跳过(一定要查看软链接是否链接正确)
# 2. python3(virtualenv)环境搭建
# 3. virtualenv常用命令
# 4. 所遇错误解析
## 4.1 遇到 No module named '_ssl'
## 4.2 错误"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5 kib41y/virtualenvwrapper/"
## 4.3 找不到"pbr"包
# 1. 解决版本冲突问题--建议不要跳过(一定要查看软链接是否链接正确)
python3安装过程在之前的文章:Linux环境安装Python3-CSDN博客
在安装之前,先检查自己的python版本(我使用的python3版本是3.6.1)
python --version
如果是以下 3开头的版本就跳过此步骤
因为我的虚拟机含有两个版本,所以牵涉到更换适用版本问题
- ①查看系统上对应的软链接设置
上图是我修改后的,如果/usr/bin/python指向的是/usr/bin/python3之外的路径,则需要伤处原有的软链接,让python的软链接直接指向python3。
- ②删除链接
rm -rf /usr/bin/python
# rm会提示是否删除该软链接,直接输入"y",再"enter"即可
软链接指令:
# 创建软链接
ln -s [源文件] [软链接文件]
# 修改软链接
ln –snf [新的源文件或目录] [软链接文件]
# 删除软连接--系统会提示"是否需要删除"
rm ./软链接名称
# 无需系统确认直接删除软链接
rm –rf ./软链接名称
- ③创建新链接
ln -s /usr/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- ④检查软链接是否指向了最新版本
ls -l /usr/bin/python*
查看若与以上图片大致相同,则版本冲突解决
# 2. python3(virtualenv)环境搭建
- ①切换pip源,加快下载速度
mkdir ~/.pip
vim ~/.pip/pip.conf
# 内容:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
- ②安装virtualenv及virtualenvwrpper 及配置
安装(必须使用Python3的pip去安装
pip3 install virtualenv virtualenvwrapper
寻找virtualenvwrapper.sh路径
find / -name virtualenvwrapper.sh
我的结果 /usr/local/python3/bin/virtualenvwrapper.sh (virtualenvwapper的路径)
寻找virtualenv路径
find / -name virtualenv
我的结果 /usr/local/python3/bin/virtualenv (virtualenv的路径)
配置bashrc
vim ~/.bashrc
# 在空白部分添加:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 指定virtualenvwapper的路径
source /usr/local/python3/bin/virtualenvwrapper.sh
# 刚刚查找的路径
# 指定virtualenv的路径
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
如下图:
使配置文件生效
source ~/.bashrc
以上python3的环境配置成功!
# 3. virtualenv常用命令
# 虚拟环境列表
workon 或 lsvirtualenv
# 新建虚拟环境
mkvirtualenv [虚拟环境名称]
# 启动/切换虚拟环境
workon [虚拟环境名称]
# 删除虚拟环境
rmvirtualenv [虚拟环境名称]
# 离开虚拟环境
deactivate
# 4. 所遇错误解析
## 4.1 遇到 No module named '_ssl'
- ①检测系统安装 OpenSSL
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
- ② 寻找openssl安装路径
find / -name openssl
##我的结果
/usr/lib64/openssl
/usr/include/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
# 我们需要知道include、lib或者是lib64上一级目录
# 我的是/usr 备用(1.3更改路径时使用)
- ③ 编辑 ssl配置参数:切换到解压号的Python目录
# vim 你的Python目录/Modules/Setup.dist
## 大约在 209 行 取消这几行的注释
### 原参数
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
## 改成下面的, 下面的路径/usr取自1.2查找的结果
SSL=/usr
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib64 -lssl -lcrypto
- ④ 保存,重新编译安装
# 编译
make
# 安装
make install
## 4.2 错误"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5 kib41y/virtualenvwrapper/"
错误示例:
- ①升级pip版本
python3 -m pip install --upgrade pip
- ② 如果升级pip后问题仍然存在,尝试清除pip的缓存并重新安装包。可以使用以下命令清除缓存
pip3 cache purge
## 4.3 找不到"pbr"包
- ① 升级setuptools
pip install --upgrade setuptools pip
- ② 更换pip源--阿里云
pip install --upgrade setuptools pip
- ③ 在安装virtualenvwrapper之前安装pbr
pip3 install pbr
- ④ 再安装virtualenvwrapper,回到2的第②步骤
以上python3的环境配置成功!