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

我为 Python 2.5创建了一个 viralenv,并希望将其“升级”到 Python 2.6。

下面是它最初是如何建立的:

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

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

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

The default python is still 2.5, even though I can also specify 2.6. Is there any way to 拿开 2.5 entirely and have 'bin/python' point to 2.6 instead?

113325 次浏览

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

您可以使用 Python 2.6 viralenv 对现有目录进行“重新虚拟化”。不过,您必须重新安装所有已安装的模块。我通常有一个用于开发模块的虚拟目录,并且使用许多版本的 Python 实现了同一个目录的 viralenv,它工作得很好。:)

在 CentOS 上安装第二个 Python

  1. 下载 Python
  2. 安装到差异本地

    configure --prefix=/opt/virtualenv/python
    make && make install
    
  3. create virtual env using new python

    virtualenv /opt/virtualenv --python=/opt/python276/bin/python
    

    注意: 如果需要,可以使用不同的用户

    chown pyuser -R /opt/virtualenv
    su - pyuser
    source /opt/virtualenv/bin/activate
    python -v
    
  4. Create virtual env:

    virtualenv /opt/virtualenv
    su - infograficos
    source bin/activate
    
  5. Install pip with python 2.7 (inside virtualenv)

    easy_install pip
    

如果您正在使用 OS X,如果您希望将 Python 升级到较小的增加版本(例如2.7.6到2.7.8) ,请尝试 这个,同时保持第三方库的工作。

它可以在安装了 Django 的5个不同的虚拟环境中工作。

在 Python 3.3 + 来吧中支持——升级标志

  --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,没有出现任何问题。