现有的virtualenv可以优雅地升级吗?

2024-05-23 19:39:50 发布

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

我为Python 2.5创建了一个virtualenv,并希望将其“升级”到python2.6。

以下是它最初的设置:

virtualenv --no-site-packages -p python2.5 myenv

我现在在同一目录下运行virtualenv来升级:

virtualenv --no-site-packages -p python2.6 myenv
...
Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6)
...
Overwriting myenv/bin/activate with new content

默认的python仍然是2.5,尽管我也可以指定2.6。有没有什么方法可以完全删除2.5并让“bin/python”指向2.6?


Tags: no目录youbinvirtualenvusepackagesscript
0条回答
网友
1楼 · 发布于 2024-05-23 19:39:50

在Python 3.3+venv支持中--升级标志

  --upgrade             Upgrade the environment directory to use this version
                        of Python, assuming Python has been upgraded in-place.

用法:

python -m venv --upgrade YOUR_VENV_DIRECTORY

我刚刚在几个项目中将我的venv从Python 3.7.x升级到3.8,没有任何问题。

网友
2楼 · 发布于 2024-05-23 19:39:50

您应该使用python2.6创建一个新的virtualenv,然后在激活新env之后,使用它的python2.6和它的easy_install来安装您需要的任何站点包的新版本。请注意,指向virtualenv的路径名是硬连接到环境中的各种文件中的,因此,当您准备切换到该路径时,请更改启动脚本等以引用新的virualenv路径,或者非常小心地将其复制到旧目录并修改其中的路径名。

网友
3楼 · 发布于 2024-05-23 19:39:50

您可以使用Python2.6Virtualenv“重新启动”现有目录。你必须重新安装你安装的所有模块。我经常有一个用于开发模块的虚拟目录,而virtualenv则有许多Python版本的同一个目录,它工作得很好。:)

相关问题 更多 >