簡體   English   中英

使用virtualenv安裝某些軟件包

[英]Installing certain packages using virtualenv

所以,我想今年開始使用virtualenv。 我喜歡no-site-packages選項,這很好。 但是我想知道如何在每個virtualenv中安裝某些軟件包。 例如,假設我想將django安裝到每個virtualenv中...這是可能的,如果是這樣,怎么樣? buildout會解決這個問題嗎?


好吧,它不是django,更像是django應用程序...我不介意在每個virtualenv中安裝一個版本的django ...我只是想知道是否有一些'no-site-packages'的中間選項

我知道你在哪里使用no-sites-option。 我想使用pip freeze來生成需求列表,並且不希望在站點包中有很多額外的錯誤。 我還需要使用多個版本的django,因為我有遺留項目我沒有升級(一些舊的svn checkout(pre1.0),一些1.0,以及一些新的svn checkout)。 在全局站點包中安裝Django並不是一個真正的選擇。

相反,我有一個帶有發行版的django文件夾和幾個不同的svn版本,只有符號鏈接到本地​​站點包中的相應版本。 為了便於使用,我鏈接到與環境相同級別的本地站點包,然后鏈接到相應的django目錄和我需要的任何其他“系統”樣式包(通常只是PIL)。 所以:

$ virtualenv pyenv
$ ln -s ./pyenv/lib/python2.5/site-packages ./installed
$ ln -s /usr/lib/python2.5/site-packages/PIL ./installed
$ ln -s /opt/django/django1.0svn/trunk/django ./installed

現在以下工作:

$ source pyenv/bin/activate
$ python
> import django
> import PIL

如果你想在每個virtualenv上安裝django,你可以將它安裝在site-packages目錄中嗎? 只是一個想法。

我建議使用virtualenvbootstrapping支持。 這允許您在創建virtualenv之后執行任意Python,例如安裝新包。

另一個選項(我使用的一個)是在創建虛擬環境后easy_install Django。 這很容易編寫腳本。 您支付的罰款是等待在每個虛擬環境中安裝Django。

我和Toby在一起:除非有一個令人信服的理由為什么你必須在每個虛擬環境中都有一個單獨的Django副本,你應該考慮將它安裝在主Python區域,並允許每個虛擬環境從那里使用它。

我想查看這個項目:

http://www.stereoplex.com/two-voices/fez-djangoskel-django-projects-and-apps-as-eggs

可能是我的答案....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM