在windows上激活virtualenv

Ion*_*lub 3 python path virtualenv windows-7 system-paths

我已经在装有Python 2.7的Windows 7机器上安装了virtualenv 1.10.

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

如果我运行C:\TESTENV\Scripts\activate然后键入python后跟:

import sys
print sys.prefix
Run Code Online (Sandbox Code Playgroud)

它输出C:\TESTENV,如表达式.

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

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

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

Vik*_*kez 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
Run Code Online (Sandbox Code Playgroud)

激活环境后.