如果你只有幾個項目,每隔一段時間,沒有什麼可以阻止你爲它們建立一個新的virtualenv,並把你的包直接在:
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/mypackage1
__init__.py
/mypackage2
__init__.py
這種方法的優點是您可以始終確保找到屬於該項目的激活腳本。
$ cd /foobar
$ source bin/activate
$ python
>>> import mypackage1
>>>
如果你決定要有點更有條理,你應該考慮把所有的virtualenvs到一個文件夾,您正在使用的項目名字後,他們每個人。
/virtualenvs
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/foobar
/mypackage1
__init__.py
/mypackage2
__init__.py
這樣,您就可以隨時出問題時,你的項目文件保持安全新的virtualenv開始。
另一個優點是你的幾個項目可以使用相同的virtualenv,所以如果你有很多依賴關係,你不必一遍又一遍的做同樣的安裝。
$ cd /foobar
$ source ../virtualenvs/foobar/bin/activate
$ python
>>> import mypackage2
>>>
對於經常需要設置和拆除virtualenvs它將使意義看virtualenvwrapper用戶。
http://pypi.python.org/pypi/virtualenvwrapper
隨着virtualenvwrapper可以
* create and delete virtual environments
* organize virtual environments in a central place
* easily switch between environments
您不再擔心您的virtualenvs都在項目 「富」 與 「酒吧」 工作時:
/foo
/mypackage1
__init__.py
/bar
/mypackage2
__init__.py
這你是如何開始在「foo」項目上工作的:
$ cd foo
$ workon
bar
foo
$ workon foo
(foo)$ python
>>> import mypackage1
>>>
然後切換到項目「欄」是如此簡單:
$ cd ../bar
$ workon bar
(bar)$ python
>>> import mypackage2
>>>
整齊漂亮,不是嗎?
@jkp:我不同意。如何佈置Python應用程序與您如何在虛擬環境中定位該應用程序以用於開發目的不同。這是相關的,但不一樣。請不要重複關閉。 – jcdyer 2009-11-23 16:09:43