2014-03-04 42 views
0

我正在ubuntu工作。我已經在根目錄下安裝了django == 1.3。現在我使用virtualenv創建了本地虛擬環境名稱local_env。然後我激活了local_env使用命令。但我沒有在這個local_env環境中安裝django。當我嘗試使用爲什麼django-admin.py在root不是虛擬環境中執行?

django-admin.py startproject sampleproject 

創建django示例項目時,它工作正常。我的問題是,它沒有阻止local_env環境?我的意思是它沒有提出像django-admin.py command didn't found這樣的錯誤。如有疑問,請提出意見。

+0

您是否使用'--no-site-packages'選項創建了virtualenv?順便說一句,在最新'virtualenv'這是默認。 – Babu

回答

1

01的virtualenv的版本位於OS路徑中。當你嘗試在你的虛擬環境中執行它時,python會查看它的VE的sys.path,如果沒有找到,它將搜索OS路徑,從根環境找到它,所以沒有顯示錯誤。

+0

感謝您的好解釋 – dhana

0

根據docs,django-admin.py命令安裝在您的系統路徑中,所以如果virtualenv未找到此命令,它可能會查找全局sys路徑並找到匹配項。

如果你想使用不同版本的django來安裝你的sys路徑,你需要使用像pip這樣的包管理器將它安裝到你的vritualenv中,然後這將在全局django-admin的.py

要確保你這樣做的權利,加載您使用

[email protected]:~$ source local_env/bin/actviate 

如果成功的virtualenv,您應及時在年初有virtualenv中的名字 - 例如

(local_env)[email protected]:~$ 

請注意,如果您在一個shell中激活virtualenv,但在單獨的shell中運行python解釋器,則將使用全局解釋器,因此可以使用全局django-admin.py模塊。

接下來,您將要安裝的Django的模塊

(local_env)[email protected]:~$ pip install django 

要檢查是否安裝了虛擬包膜內的Django,則可以使用軟件包管理工具點子,並通過凍結參數

(local_env)[email protected]:~$ pip freeze 

現在你可以使用的django-admin.py

(local_env)[email protected]:~$ django-admin.py startproject sampleproject