細說Python的包管理工具

pythontab發表於2014-09-01

剛開始學習Python時,在看文件和別人的blog介紹安裝包有的用easy_install, setuptools, 有的使用pip,distribute,那麼這幾個工具有什麼關係呢,看一下下面這個圖就明白了

細說Python的包管理工具

可以看到distribute是setuptools的取代,pip是easy_install的取代。

關於這些包工具可以參考 http://guide.python-distribute.org/installation.html#installing-pip

下面簡單的介紹一下:

Distribute是對標準庫disutils模組的增強,我們知道disutils主要是用來更加容易的打包和分發包,特別是對其他的包有依賴的包。

Distribute被建立是因為Setuptools包不再維護了。

安裝Distribute

可以透過distribute_setup.py 指令碼來安裝Distribute,也可以透過easy_install, pip,原始檔來安裝,不過使用distribute_setup.py來安裝是最簡單和受歡迎的方式

 

$ curl -0 http://python-distribute.org/distribute_setup.py

$ sudo python distribute_setup.py

 

Pip 是安裝python包的工具,提供了安裝包,列出已經安裝的包,升級包以及解除安裝包的功能。

Pip 是對easy_install的取代,提供了和easy_install相同的查詢包的功能,因此可以使用easy_install安裝的包也同樣可以使用pip進行安裝。

 

安裝Pip

Pip的安裝可以透過原始碼包,easy_install或者指令碼。

下面介紹一下各種安裝方法:

原始碼方式:

 

$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz (替換為最新的包)

$ tar xzf pip-0.7.2.tar.gz

$ cd pip-0.7.2

$ python setup.py install

easy_install:

 

$ easy_install pip

get_pip.py 指令碼:

 

$ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py

$ sudo python get-pip.py

 

OK, 下面來看一下Pip的使用

安裝package

 

$ pip install Markdown

列出安裝的packages

 

$ pip freeze

安裝特定版本的package

透過使用==, >=, <=, >, <來指定一個版本號。

 

$ pip install 'Markdown<2.0'

 

$ pip install 'Markdown>2.0,<2.0.3'

升級包

升級包到當前最新的版本,可以使用-U 或者 --upgrade

 

$ pip install -U Markdown

解除安裝包

 

$ pip uninstall Markdown

查詢包

 

pip search "Markdown"

 

PS -- 包安裝後的py檔案路徑:/usr/local/lib/python2.7/dist-packages


相關文章