这似乎不是很难手动完成,但自动化这个过程仍然非常有用,可以轻松地针对多个Python版本测试项目,同时仍处于virtualenv环境中。
只需将您的项目移出虚拟环境文件夹即可。它们不应该在那里,因为正是出于这个原因。
使用不同版本的Python可能会引入略有不同的软件包,因此最好只创建一个新的带有2.7版本的虚拟环境,并安装所有依赖项。然后,当您想要针对不同的Python版本进行测试时,只需激活并使用正确的环境即可。
虽然晚了三年,但也许能帮到别人...
本回应主要适用于Windows OS (7)作为主要开发平台。以下是我建议的管理多个Python虚拟环境的步骤。
注意1:您可能需要使用管理员权限运行命令提示符。
注意2:您可能需要为每个Python版本安装一个"setuptools"版本;我不确定,因为我还没有遇到这个问题。不管使用哪个easy_install来安装virtualenv都无妨。最新的virtualenv应该能够检索并支持所有Python版本(我的逻辑猜测)。
注意3:Python .msi安装程序将写入几个条目到Windows注册表中。因此,如果您打算在几个Python版本下进行开发和测试,您可能只想使用归档分发。
为了方便切换Python版本,只需为每个版本创建一个.bat文件,并为您设置系统环境变量(PYTHONHOME)。这是我使用的方法。
您可以在名为“SetPython2.8.bat”的.bat文件中实际使用以下脚本命令:
setx /m PYTHONHOME "path\to\python\verion2.8"
当您要创建虚拟[Python]环境时,根据所需的Python版本执行特定的.bat文件,例如上面的例子,则为“SetPython2.8.bat”。
右键单击,以管理员身份运行
为每个Python虚拟环境创建另一个.bat文件,仅用于激活目的。现在,当您需要为特定的Python环境安装特定的库时,只需执行(作为管理员)特定的.bat文件,然后安装库。
以下是“Activate_Python2.8_VEnv.bat”脚本的一组命令:
title "VirtualEnv:Python2.8" set PATH_TO_WORKSPC="C:\path\to\workspace" cd %PATH_TO_WORKSPC%\VirtualEnvironments\python cd Python2.8 set "_OLD_VIRTUAL_PROMPT=$g" cmd /K Scripts\activate.bat 检查虚拟环境中的activate.bat文件,以了解我们为什么设置“_OLD_VIRTUAL_PROMPT”。
可选地,您也可以选择拥有一个主系统Python安装(如1中所述)。但就灵活性而言,虚拟环境似乎是更好的选择。
[欢迎改进]
tox
在9个不同环境中测试Python文件的示例:http://github.com/zed/test_glob1 - jfs