Python windows上的VirtualNV激活
我已经在Windows7机器上安装了VirtualNV 1.10,上面安装了Python 2.7 我已经创建了一个名为TESTENV的虚拟环境。它位于C:\ 如果我运行Python windows上的VirtualNV激活,python,windows-7,path,virtualenv,system-paths,Python,Windows 7,Path,Virtualenv,System Paths,我已经在Windows7机器上安装了VirtualNV 1.10,上面安装了Python 2.7 我已经创建了一个名为TESTENV的虚拟环境。它位于C:\ 如果我运行C:\TESTENV\Scripts\activate,然后键入python,后跟: import sys print sys.prefix 它输出C:\TESTENV,如上所述 但是如果我运行D:\virtualenv_test.py(这是一个包含我上面使用的两行代码的脚本),它将输出C:\Python27 我尝试在脚本中添加
C:\TESTENV\Scripts\activate
,然后键入python
,后跟:
import sys
print sys.prefix
它输出C:\TESTENV
,如上所述
但是如果我运行D:\virtualenv_test.py
(这是一个包含我上面使用的两行代码的脚本),它将输出C:\Python27
我尝试在脚本中添加一行shebang,但在Windows上不起作用
为什么脚本没有在虚拟环境的上下文中运行?
virtualenv
不会更改启动文件的默认应用程序
安装Python时,安装程序会将.py
和.pyw
文件与相应的C:\Python27\Python.exe
和C:\Python27\pythonw.exe
应用程序相关联。因此,当您(在cmd中)仅运行D:\virtualenv_test.py
时,cmd将查找注册表并找到与.py
文件关联的应用程序,然后与该应用程序一起运行该文件。在本例中,这是以前安装的C:\Python27\python.exe
virtualenv
activate
仅在PATH
环境变量的开头添加特定的虚拟环境python解释器,因此当您在cmd
中键入python
时,将执行相应的python.exe
因此,问题的解决方案是以以下方式运行脚本:
python D:\virtualenv_test.py
激活环境后