参见英文答案 > Upgrade python in a virtualenv 10个
我已经在3.5.0之上安装了Python 3.5.1并且我现在想要更新虚拟环境以使用3.5.1但是我找不到简单的方法来实现这一点.看起来我将不得不删除虚拟环境,然后使用新版本的Python重建它.有没有人有更简单的方法呢?
virtualenv在其bin子目录中有一个系统Python可执行文件的符号链接,如下所示:
python -> python3.5
python3 -> python3.5
python3.5 -> /usr/bin/python3.5
由于/usr/bin/python3.5在从3.5.0升级到3.5.1时被替换,virtualenv将自动使用新的Python版本.
如果你正在进行更大的升级(x或y在x.y.z中),你需要升级virtualenv.
如果你使用的是built-in pyvenv
command(在Python 3.3中引入),它有一个–upgrade标志:
Upgrade the environment directory to use this
version of Python,assuming Python has been upgraded in-place.
……应该做的伎俩.请注意,pythonv命令在Python 3.6中被python3 -m venv替换.
如果您使用的是virtualenv包而不是内置命令,最直接的方法是删除virtualenv并使用新版本的Python重新创建它,然后运行pip install -r requirements.txt.
这假设您有一个项目的requirements.txt文件.您可以通过运行pip freeze –local>创建其中一个文件,其中列出了virtualenv中安装的所有软件包.升级Python并重新创建virtualenv之前的requirements.txt.