代码之家  ›  专栏  ›  技术社区  ›  mdeous

更改virtualenv中使用的python版本

  •  4
  • mdeous  · 技术社区  · 14 年前

    我在virtualenv中有一个项目,它使用python2.6,但是现在我想让它使用python2.7。有没有一种方法可以做到这一点,而不必备份我的项目文件,为正确的python版本重新创建virtualenv,然后将我的文件复制回virtualenv?

    这似乎不是一个手工完成的大任务,但是能够自动完成这项任务对于在仍然处于virtualenv中的情况下轻松地针对许多python版本测试项目仍然非常有用。

    3 回复  |  直到 14 年前
        1
  •  3
  •   jfs    14 年前

    要根据您可以使用的许多python版本轻松测试项目 tox .

        2
  •  6
  •   Sam Dolan    14 年前

    只需将项目移到virutalenv文件夹之外。因为这个原因他们不应该在里面。

    使用不同版本的python可能会引入稍微不同的包,因此最好创建一个新的virutalenv w/2.7并安装所有依赖项。然后,当您想针对不同的python版本进行测试时,只需激活脚本并使用正确的env。

        3
  •  4
  •   Community CDub    8 年前

    已经晚了三年了,但这可能会帮助其他人。。。

    此响应主要适用于作为主要开发平台的Windows OS(7)。 这些是我建议管理多个Python虚拟环境的步骤。

    注1 :您可能需要以管理员权限运行命令提示符。

    注2 :您可能需要为每个Python版本安装一个“setuptools”版本;我不确定,因为我还没有跨过[众所周知的]这座桥。使用哪种简易安装方式来安装并不重要 虚拟人 . 最新的 虚拟人 应该被检索,并且应该支持所有版本的Python(我的逻辑猜测)

    :Python.msi安装程序将向Windows注册表写入多个条目。因此,如果您计划在几个Python版本下开发和测试,那么您可能只想使用一个归档发行版。

    1. 设置一个环境变量(除了必需的变量之外;即PYTHONPATH),并将其命名为PYTHONHOME。然后PYTHONPATH变量应该引用PYTHONHOME变量。
    2. 安装需要测试的每一个Python版本,只需将Python X.X代码库解压缩到您选择的开发位置即可。
    3. 为了方便在Python版本之间切换,只需为每个版本创建一个.bat文件,该文件为您设置系统环境变量(PYTHONHOME)。这就是我使用的方法。

      setx/m PYTHONHOME“path\to\python\verion2.8”

    4. 当您要创建虚拟的[Python]环境时,请根据所需的Python版本执行特定的.bat文件,在上面的示例中,该版本将是“SetPython2.8.bat”。

      右键单击,以管理员身份运行

    5. 为每个Python虚拟环境创建一个附加的.bat文件,仅用于激活目的。现在,当您需要为特定的Python环境安装特定的库时,只需执行(作为管理员)特定的.bat文件,然后安装库。

      下面是一组用于名为“Activate_Python2.8_VEnv.bat”的假设脚本的命令:

      标题“VirtualEnv:Python2.8” set PATH_TO_WORKSPC=“C:\路径\到\工作区” cd%PATH_TO_WORKSPC%\VirtualEnvironments\python 镉蟒蛇2.8 cmd/K脚本\激活.bat

    6. 也可以选择安装主系统Python(如 1 ). 但是,就灵活性而言,虚拟环境似乎是一条路要走。

    7. [随时改进]

    Here is a thread with references on how to install different Python versions on a Mac or Unix platform