2011-11-04 49 views
18

我在安裝python + virtualenv + django時遇到了一些問題,需要幫助。Python + Django + VirtualEnv + Windows

系統:Windows 7,64b

我該怎麼辦? 1)安裝了Python 2.7.2安裝VIRTUALENV

E:\APPZ\Console2>C:\Python27\Scripts\easy_install.exe virtualenv 

4)創建的virtualenv(32位) 2)安裝setuptools的(32個比特) 3):

E:\APPZ\Console2>virtualenv E:\CODE\wamp\www\AMBIENTES\env 

5 )很好,現在我創建了一個「.bat」來使用我的env,然後放在C:\ Windows中。

C:\ WINDOWS \ python.bat

cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat 

到目前爲止好 現在我執行的python.bat和安裝的Django:

E:\APPZ\Console2>python 

E:\APPZ\Console2>cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat 
(env) E:\APPZ\Console2>cd E:\CODE\wamp\www\AMBIENTES\Django-1.2.7 

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>python setup.py install 
django installed (1.2.7) successfully. 

而現在,問題:

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version 
Traceback (most recent call last): 
    File "E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py", line 2, in <module> 
    from django.core import management 
ImportError: No module named django.core 

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7> 

-

有誰知道我能做些什麼嗎?

+2

如果不是從源代碼安裝而是使用'pip install Django == 1.2.7'或'easy_install Django == 1.2.7',會發生什麼? (pip/easy_install在安裝時天生就知道虛擬環境,Django的setup.py腳本可能不會) –

+0

不會將您的文件命名爲python.bat!這只是要求與真正的「python.exe」發生衝突和名稱衝突。 –

+0

@MaxFerreira,如果您發現我的答案有用,請將其標記爲「已接受的答案」 – ajukraine

回答

0

我相信你的問題是,使用Django源代碼的python setup.py install將Django安裝在主站點packages/dist-packages路徑而不是你的虛擬環境中。

相反,使用PIP或使用easy_install:

$ pip install Django==1.2.7 --OR -- $ easy_install Django==1.2.7 

如果你不能直接從PyPI中(企業防火牆等)下載,你可以通過稍微修改命令使用已有的源:

$ pip install -f file:///E/CODE/wamp/www/AMBIENTES/ Django==1.2.7 

(轉換的Windows路徑可能需要一些調整。我認爲這是正確的,但它已經一段時間)

15

我知道這個問題是舊的,也許不是實際的了作者。但就Google出現的頂部而言,我會留下幫助我的答案。

對於類似的question基本上正確的答案是posted

嚴格地說,執行django-admin.py --version時會調用錯誤的Python安裝。爲了檢查你使用哪個Python,在「命令行」中鍵入ftype Python.File。如果它不是virtualenv中的一個,那麼你可以重新關聯默認的Python:

ftype Python.File="E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe" "%1" %*

或取消設置文件關聯(從CMD。exe文件):

assoc .py= 
ftype Python.File= 

後重新關聯.py擴展程序,應指定完整路徑執行Python文件:

E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version

或者,如果你願意,你可以編輯的virtualenv的activate.bat將特定的.py關聯,使用assocftype命令行實用程序,如上所述。

+1

對於'ftype'和'assoc' +1,不知道他們 – n611x007

+0

需要使用virtualenv版本的完整路徑蟒蛇 - 感謝明確的例子! – TaiwanGrapefruitTea