如何升级virtualenv以使用新的系统python?

2024-05-20 00:55:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python2.6在系统上安装了virtualenv。在

我将系统python升级到了2.7,但是virtualenv仍然与python2.6很相似。在

我尝试过easy-tu安装——升级virtualenv,但这并没有改变任何东西。在

有人知道如何更新系统安装的virtualenv,以便在系统上使用新的python2.7吗?在


Tags: virtualenv系统easytu
3条回答

我已经创建了一个脚本来重新生成您的virtualenv:https://gist.github.com/WoLpH/fb98f7dc6ba6f05da2b8

如果有很多要更新的,可以使用这个脚本使用gnupallell进行并行化:https://gist.github.com/WoLpH/fb98f7dc6ba6f05da2b8#file-recreate_virtualenvs-sh

#!/bin/zsh -e

export PATH="/usr/local/bin:$PATH"
. $(which virtualenvwrapper.sh)

envs=$(find ~/envs -mindepth 1 -maxdepth 1 -type d -print -or -name '*.sparseimage' -print | sed -e 's/.*\///' | sed 's/.sparseimage$//' | sort -u)
echo "$envs" | parallel -v  no-notice ~/scripts/recreate_virtualenv.sh {}

只需将其复制到一个文件(上面的可下载链接)并按如下方式执行:zsh -e recreate_virtualenvs.sh <project_name>

^{2}$

pip、easy_install和virtualenv命令安装在python版本(python2.6、2.7等)中。在

您必须为您的python版本安装一个easy_install的新副本(请参见setuptools installation instructions,或者对pip执行相同的操作installing it directly。在

然后可以使用这个绑定到python2.7的新安装来安装virtualenv。在

新命令很可能是作为pip-2.7easy_install-2.7安装的;请参阅^{} documentation on multiple python versionspip和{}本身可能是指向其2.6版本的符号链接。尝试运行pip-2.7 install virtualenveasy_install-2.7 virtualenv。在

如果这对您无效,您可以始终使用-m开关:

python2.7 -m easy_install virtualenv

您可以在虚拟环境中尝试pip install -U python,但不确定它会破坏什么。在

您也可以更改指向旧Python的符号链接,但不确定会有什么副作用。在

我推荐最安全的路径,即首先pip freeze > installed.txt,然后用新的Python和pip install -r installed.txt重新创建virtualenv。在

相关问题 更多 >