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

我有一个为Python 2.5创build的virtualenv,并想“升级”到Python 2.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?

您可以使用Python 2.6 virtualenv来“虚拟”现有的目录。 您将不得不重新安装您安装的所有模块。 我经常有一个虚拟目录来开发一个模块,而virtualenv是与Python的许多版本相同的目录,它工作得很好。 🙂

您应该使用python2.6创build一个新的virtualenv ,然后在激活新的env之后,使用它的python2.6及其easy_install来安装您需要的任何站点包的新版本。 注意到virtualenv的path名被硬连线到环境中的各种文件中,所以,当你准备切换到它时,或者改变你的启动脚本等来引用新的virualenvpath,或者非常小心地复制它转移到旧的目录并修改其中的path名称。

在CentOS上安装第二个Python

  1. 下载python
  2. 安装差异本地

     configure --prefix=/opt/virtualenv/python make && make install 
  3. 使用新的python创build虚拟环境

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

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

     chown pyuser -R /opt/virtualenv su - pyuser source /opt/virtualenv/bin/activate python -v 
  4. 创build虚拟环境:

     virtualenv /opt/virtualenv su - infograficos source bin/activate 
  5. 用python 2.7安装pip(在virtualenv里面)

     easy_install pip 

如果你使用的是OS X,如果你想升级Python到小版本(例如2.7.6到2.7.8),同时保持第三方库的工作,那么试试这个 。

它适用于我安装了Django的5个不同的虚拟环境。