星期五, 7月 20, 2007

[tip] 使用yolk管理python套件.

yolk是一個可以查詢pypi套件及本機所安裝的python套件資訊的實用工具.

python自從這幾年引入setuptools,cheese shop等新技術之後,
安裝新套件變的相當容易.
大多時候我想新安裝套件除了透過作業系統的套件管理之外,
幾乎只要透過easy_install來安裝即可.
除了少部份仍未支援setuptools的pypi套件外,
大部份列在chesse shop裡的套件基本上都可以透過easy_install的方法安裝.

但是安裝變的容易了, setuptools裡卻沒有附上簡單的命令可以協助使用者管理套件,
包括版本的控管及升級, python套件安裝的數量等等資訊, 都要由系統管理者來自行紀錄.
實在不是一個很好的作法. 然而yolk這個好用的工具正可以填補這個缺陷,

首先當然是先安裝yolk, 最簡單的方法是用easy_install安裝.


easy_install -Z yolk


沒有easy_install這個程式的話 (會有人沒有裝嗎? @_@ )
則可以用你常用的套件管理程式安裝setuptools,
或請把下面的script抓下來並執行,就會安裝setuptools了:
http://peak.telecommunity.com/dist/ez_setup.py

(如果你跟我一樣也使用gentoo, 可以用overlay裡的pythonhead來安裝,
我建議你可以順便安裝g-pypi, 這是由同一作者所寫可以直接由pypi裡的套件產生ebuild的工具.
安裝g-pypi就會連yolk一起安裝了.)

幾個我常用的命令說明如下:
(請注意以下指的套件, 在python2.5之前是只限於用setuptools,easy_install安裝的python套件,
若使用python2.5+則是全部的套件都可以管理.)

yolk -l
列出這台機器所安裝的套件.
yolk -U
列出這台機器可以更新的套件及最新的版本.
yolk -F nose -T svn
將nose這個套件的最新svn版本抓下來放在./nose_svn
yolk -M nose
列出nose這個套件的meta資訊(版本,說明,版權等)
yolk -D ezpyinline
列出可以抓到ezpyinline這個套件的位址.
yolk -H nose
打開瀏覽器並連到nose這個套件的官方網站.

沒有留言: