Python 提供了 pip 可以安裝 python packages,也提供了 virtualenv 可以把 develop 環境獨立出來,所以就在我的 MBP 上試看看。
% virtualenv –no-site-packages –distribute sandbox
注意 ‘–no-site-packages’ 這個參數一定要下,這是為了不要去動到原本的 site-packages 目錄,也就是做 "純“ 的啦。至於 ‘–distribute’ 要不要就看個人,我自己是因為新手,所以就用新出來的選項。所以採用 distribute 而不是用原本的 setuptools 。
在還沒進 virtualenv 建出來的環境(簡稱:sandbox,雖然英文打起來比中文還長…..)前,想先安裝任何 python package,比如 "django",就下
要進 sandbox 就在 sandbox 目錄裡下
這時候就可以當做沒有 virtualenv 這東西啦,要亂搞任你玩,不過風險責任當然也是自負啦。玩完要閃了,就下
就可以離開 sandbox 啦。
然後 yolk 這玩意,是必備的工具,下
可以把安裝的套件列出來:
(sandbox) MacBook-Pro:sandbox clsung$ yolk -l
Django – 1.3 – active
Python – 2.7.1 – active development (/usr/local/Cellar/python/2.7.1/lib/python2.7/lib-dynload)
distribute – 0.6.14 – active
pip – 0.8.3 – active
wsgiref – 0.1.2 – active development (/usr/local/Cellar/python/2.7.1/lib/python2.7)
yolk – 0.4.1 – active
這要幹嘛呢,這可以幫助我們下次做一個新的 sandbox 時(換機器,給 team member 用之類的),就照著安裝就好了。更好的方法是讓 sandbox 可以自動安裝。這時換回 pip ,下
就可以看到 req.txt 有
Django==1.3
distribute==0.6.14
wsgiref==0.1.2
yolk==0.4.1
那麼假如我們要弄個叫 starbucks 的環境,就只要在 pip install 時加個 -r req.txt 就可以啦:
介紹完畢!
Update 2011/12/23: virtualenv 1.7 版將 ‘–no-site-packages’ 設為 default ,所以可以不加此參數。