在windows上激活virtualenv

时间:2013-08-27 10:16:24

标签: python windows-7 path virtualenv system-paths

我已经在装有Python 2.7的Windows 7计算机上安装了virtualenv 1.10。

我创建了一个名为TESTENV的虚拟环境。它位于C:\

如果我运行C:\TESTENV\Scripts\activate,然后输入python,然后输入:

import sys
print sys.prefix

它输出C:\TESTENV,如同表达。

但如果我运行D:\virtualenv_test.py(这是一个包含我上面使用的两行代码的脚本),它会输出C:\Python27

我尝试在脚本中添加一个shebang行,但这在Windows上不起作用。

为什么脚本没有在虚拟环境的上下文中运行?

1 个答案:

答案 0 :(得分:7)

virtualenv不会更改启动文件的默认应用程序。

安装Python时,安装会将.py.pyw个文件与相应的C:\Python27\python.exeC:\Python27\pythonw.exe个应用相关联。因此,当您(仅在您的cmd中)运行D:\virtualenv_test.py时,cmd会查看注册表并找到与.py文件关联的应用程序,然后使用该应用程序运行该文件。在这种情况下,这是先前安装的C:\Python27\python.exe

virtualenv activate仅在PATH环境变量的开头添加了特定的虚拟环境python解释器,因此当您在python中键入cmd时将获得相应的python.exe执行。

因此,您的问题的解决方案是将脚本运行为:

python D:\virtualenv_test.py

激活环境后。