2013-08-27 99 views
3

我已經在裝有Python 2.7的Windows 7機器上安裝了virtualenv 1.10。在windows上激活virtualenv

我創建了一個名爲TESTENV的虛擬環境。它位於C:\

如果我運行C:\TESTENV\Scripts\activate然後鍵入python後跟:

import sys 
print sys.prefix 

它輸出C:\TESTENV,如exprected。

但是如果我運行D:\virtualenv_test.py(這是一個包含我上面使用的兩行代碼的腳本),它輸出C:\Python27

我嘗試添加一個shebang行到腳本,但不適用於Windows。

爲什麼腳本不在虛擬環境的上下文中運行?

回答

7

virtualenv不會更改啓動文件的默認應用程序。

當您安裝Python時,安裝關聯的.py.pyw文件與適當的C:\Python27\python.exeC:\Python27\pythonw.exe應用程序。因此,當您運行(在您的cmd中)時,只有D:\virtualenv_test.py,cmd會查看註冊表並找到與.py文件關聯的應用程序,然後使用該應用程序運行該文件。在這種情況下,以前安裝C:\Python27\python.exe

virtualenvactivate只增加特定的虛擬環境的Python解釋器在PATH環境變量的開始,所以當你在cmd鍵入python你會得到執行相應python.exe

所以,問題的解決方案是爲運行腳本:

python D:\virtualenv_test.py 

您激活後的環境。

相關問題