Mac终端Python2.7.15环境下virtualenv生成旧版本环境问题求助
问题原因与解决方法:virtualenv虚拟环境Python版本与系统不一致
我来帮你分析下这个问题,我之前也碰到过类似的情况😉
为什么会出现这个问题?
主要有两个常见原因:
- virtualenv绑定了旧版本Python:你可能是在系统Python还是2.7.10的时候安装的virtualenv,它默认会和当时的Python版本绑定。后来系统Python升级到2.7.15,但virtualenv并没有自动关联新的版本,所以创建虚拟环境时还是调用旧的2.7.10。
- 创建时未指定Python路径:默认情况下,virtualenv会使用它自身关联的Python版本,而不是当前终端里的系统Python,这就导致了版本不一致。
解决方法
这里有几个靠谱的解决思路,你可以根据自己的情况选:
1. 创建虚拟环境时指定系统Python路径
直接在创建命令里指定当前系统Python的路径,确保用的是2.7.15:
首先先确认系统Python的路径:
which python # 输出应该类似 /usr/bin/python,再验证版本 /usr/bin/python --version
然后用这个路径创建虚拟环境:
virtualenv -p /usr/bin/python my_env_name
这样创建出来的虚拟环境就会用系统的2.7.15了。
2. 重新安装virtualenv到当前系统环境
把旧的virtualenv卸载,用当前系统的pip重新安装,让它关联最新的Python版本:
# 卸载旧版本 pip uninstall virtualenv -y # 用当前系统pip安装新版 pip install virtualenv
之后再创建虚拟环境,默认就会用系统的2.7.15了。
3. 检查virtualenv的关联路径
如果上面两种方法没生效,可以检查下virtualenv本身的关联:
# 找到virtualenv的位置 which virtualenv # 查看它的shebang行(开头的#!/usr/bin/env python) head -n 1 /path/to/virtualenv
如果shebang里的Python指向的是旧版本的路径,你可以手动修改成系统2.7.15的路径,或者直接重新安装virtualenv更省心。
内容的提问来源于stack exchange,提问作者Brian Barcelona
相关产品推荐
相关产品推荐

