我在virtualenv中有一个项目,它使用python2.6,但现在我想使用python2.7。有没有办法在不必备份我的项目文件的情况下执行此操作,为正确的python版本重新创建virtualenv,然后将我的文件复制回virtualenv?
这似乎不是一项需要手工完成的大任务,但是能够自动执行此操作仍然非常有用,可以轻松地针对许多python版本测试项目,同时仍然处于虚拟环境中。
答案 0 :(得分:6)
只需将您的项目移到virutalenv文件夹之外。出于这个原因,他们不应该在那里。
使用不同版本的python可能会引入稍微不同的包,因此最好只创建一个新的virutalenv w / 2.7并安装所有依赖项。然后,当您想要针对不同的python版本进行测试时,只需激活您的脚本并使用正确的环境。
答案 1 :(得分:4)
这已经晚了3年,但它可能对其他人有帮助......
此响应主要适用于作为主要开发平台的Windows OS(7)。 这些是我建议管理多个Python虚拟环境的步骤。
NOTE1 :您可能需要以管理员权限运行命令提示符。
NOTE2 :您可能需要为每个Python版本安装一个版本的“setuptools”;我不确定,因为我还没有越过那个[众所周知的]桥梁。使用哪个easy_install来安装 virtualenv 并不重要。应该检索最新的 virtualenv 并且应该支持所有版本的Python(我的逻辑猜测。)
NOTE3 :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”的假设脚本的命令:
标题“VirtualEnv:Python2.8” 设置PATH_TO_WORKSPC =“C:\ path \ to \ workspace” cd%PATH_TO_WORKSPC%\ VirtualEnvironments \ python cd Python2.8 设置“_OLD_VIRTUAL_PROMPT = $ g” cmd / K Scripts \ activate.bat 检查activate.bat文件(在您的虚拟环境中)以了解我们为什么设置“_OLD_VIRTUAL_PROMPT”。
或者,您也可以选择安装主系统Python(如1中所述)。但是,就灵活性而言,虚拟环境似乎是要走的路。
[随意改进]
答案 2 :(得分:3)
要针对许多python版本轻松测试项目,可以使用tox。