2012-12-03 18 views
0

我已經安裝了virtualenv和--no-site-packages選項。我是否需要在virtualenv中安裝Django以及如果我不使用系統包

我有一些懷疑

  1. 如果我用的virtualenv Django的那麼豈不是我的Django的網站是完全從系統軟件包切斷。我的意思是任何安裝在系統站點包中的軟件包都不可用?

  2. 我已經在virtualenv中安裝了所有軟件包,但沒有安裝django。我是否也需要在virtualenv中安裝Django?

  3. 假設我有一些軟件包不在virtualenv中,但是在主env中可用,我可以從主軟件包中訪問它,還是一次只能運行一個環境?

回答

3

是的,你可以通過點或從Django下載並運行安裝程序。在這兩種情況下,你需要確保你有積極的virtualenv,即源ENV /斌/激活

  1. 的virtualenv的一點是要保持你的主系統分開,你想這樣做。

  2. 是的。

  3. 你應該把它們安裝在你的virtualenv中,這是更好的做法。

virtualenv的一個很好的事情是,你可以爲你的項目創建一個很好的完整環境。然後,一旦工作穩定,您可以點擊凍結軟件包,然後git您的代碼,然後知道是否共享您的項目或移動系統,整個過程將很容易重新創建並且工作:)

- - 更新發表評論--- 在命令行和承擔的Linux型環境

$ cd 
$ virtualenv --no-site-packages --distribute ENV 
$ source ENV/bin/activate 
$ pip install django 
$ pip install all_the_packages_you_need 

現在你可以進入你的Django項目和運行Python命令爲正常,它會使用你的virtualenv「ENV」巨蟒和位點軟件包

+0

我正在使用django和mod_wsgi。我需要在哪裏激活virtualenv。我在網站上看過,我只需要這樣做。 site.addsitedir('/ srv/python-environments/saltycrane/lib/python2.5/site-packages') – user825904

+0

mod_wsgi只在部署時發揮作用,是當前部署的站點嗎?因爲那麼你需要做其他一些事情,那就是你可以使用帶有已部署站點的virtualenv,但是我的假設是你正在使用django開發服務器,即python manage.py runserver – esse

相關問題