使用virtualenv创建Python3.7.6版本虚拟环境时,遇到了标题中的报错,记录一下解决过程。
出现这种情况一般是因为缺少依赖包libffi-devel
在安装3.7以上版本时,需要一个新的libffi-devel包做依赖
使用yum安装依赖
yum install libffi-devel -y
删除之前安装的报错的虚拟环境目录
rm -f venv
重新编译安装系统Python3.7.6(需要先找到安装时的Python源码包,cd到目录中)
./configure --prefix=/usr/local/python3
make && make install
删除之前建立的软连接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
重新建立软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
到此Python3重新安装完成,可以用python3、pip3命令测试一下是否安装成功。
进入虚拟目录将要存放的目录,使用新安装的Python3创建虚拟环境。此处需要使用-p参数指定Python版本路径,否则默认创建Python2的环境。
virtualenv -p /usr/bin/python3 venv
测试进入创建好的虚拟环境中
source venv/bin/activate
退出环境
deactivate
一些参考资料:
在已经安装Python2的Linux系统中加入Python3
Linux安装Python3.7.0
Linux创建虚拟环境指定python版本