Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python windows上的VirtualNV激活_Python_Windows 7_Path_Virtualenv_System Paths - Fatal编程技术网

Python windows上的VirtualNV激活

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 我尝试在脚本中添加

我已经在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

我尝试在脚本中添加一行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
激活环境后