CentOS服务器无法用自定义Python2.7.15创建虚拟环境
问题原因与解决方案
核心原因
- 你执行的
virtualenv属于Python3.8版本(报错路径明确指向Python3.8的site-packages目录),而高版本virtualenv已停止支持Python2.7,其代码包含Python3专属语法(如f-string、类型注解),Python2.7解析这些语法时会直接触发语法错误。 - 大概率是Anaconda或系统环境变量配置导致:Anaconda的环境目录优先级高于你自定义的Python2.7目录,使得系统优先调用了Python3.8版本的virtualenv工具。
解决步骤
- 给自定义Python2.7安装兼容的virtualenv版本
直接用你的Python2.7执行pip安装最后一批支持Python2.7的virtualenv版本:/public/home/myname/opt/python-2.7.15/bin/python -m pip install virtualenv==16.7.9 - 使用专属virtualenv创建环境
不要直接调用系统的virtualenv,改用Python2.7下安装的工具:/public/home/myname/opt/python-2.7.15/bin/virtualenv -p /public/home/myname/opt/python-2.7.15/bin/python venv - 调整环境变量(针对Anaconda影响的情况)
临时将自定义Python2.7的bin目录放到PATH最前面,确保优先调用该版本的工具:
之后再执行virtualenv命令即可。export PATH=/public/home/myname/opt/python-2.7.15/bin:$PATH
内容的提问来源于stack exchange,提问作者owl_sleeps_at_night
相关产品推荐
相关产品推荐

