1. 程式人生 > >win7 下使用python的setup tools

win7 下使用python的setup tools

2011-06-08

周海漢 2011.6.8 2011.6.8 ablozhou#gmail.com

環境:win7 32位旗艦版,安裝了python31和python26,但我想使用python26的版本。

問題:python egg 檔案如何使用呢?python 元件如何安裝?下面的文章解決這些問題。

1.為何要使用安裝工具?

可以在使用python的包時更容易,方便下載,建立,依賴,安裝,升級,解除安裝等的管理。

因為很多python的包採用蟒蛋(python egg)的方式釋出。蟒蛋可以是壓縮的或沒有壓縮的方式打的包。比如xml庫lxml,python26的最新版win32的包為:lxml-2.3-py2.6-win32.egg,下載地址在

http://pypi.python.org/pypi/lxml/2.3#downloads .egg檔案並不能直接執行,必須依賴安裝工具進行安裝。

2.下載安裝python安裝工具

下載地址:http://pypi.python.org/pypi/setuptools 可以找到正確的版本進行下載。win7 32位可以下載setuptools-0.6c11.win32-py2.6.exe 。

注意:win7 64位必須使用ez_setup.py進行安裝。方法是下載ez_setup.py後,在cmd下執行 python ez_setup.py,即可自動安裝setuptools。目前沒有直接的exe安裝版本。

下載完成後雙擊執行安裝檔案,即可在c:python26scripts下安裝easy_install。包含一個easy_install.exe,如果環境變數PATH設定正確,可以直接在命令列下執行easy_install package命令。下面有相應的示例。

3.安裝lxml

沒有安裝lxml之前,執行import報錯:




>>> import lxml




Traceback (most recent call last):




File "<pyshell#1>", line 1, in <module>




import lxml




ImportError: No module named lxml


在cmd中安裝lxml

C:Userszhouhh.TKOFFICE>easy_install

install_dir C:Python31Libsite-packages

error: No urls, filenames, or requirements specified (see --help)

C:Userszhouhh.TKOFFICE>easy_install lxml

install_dir C:Python31Libsite-packages

Searching for lxml

Reading http://pypi.python.org/simple/lxml/

Reading http://codespeak.net/lxml

Best match: lxml 2.3

Downloading http://pypi.python.org/packages/3.1/l/lxml/lxml-2.3-py3.1-win32.egg#

md5=84f5d7d34176c2433abb2c7e833cf309

Processing lxml-2.3-py3.1-win32.egg

creating c:python31libsite-packageslxml-2.3-py3.1-win32.egg

Extracting lxml-2.3-py3.1-win32.egg to c:python31libsite-packages

Adding lxml 2.3 to easy-install.pth file

Installed c:python31libsite-packageslxml-2.3-py3.1-win32.egg

Processing dependencies for lxml

Finished processing dependencies for lxml

結果下載到python31下去了。 一看,原來path下預設的是python31. C:Python31;C:Python31Scripts; 將其修改為python26 再執行同樣的命令,即會正確安裝相應的py26版本成功到python26下。

4.如果已下載有egg檔案,應如何安裝?

easy_install的命令格式,就是easy_install package

package可以是網路上的url,也可以是本地的。

C:Userszhouhh.TKOFFICE>easy_install E:downloadslxml-2.3-py2.6-win32.egg

Processing lxml-2.3-py2.6-win32.egg

creating c:python26libsite-packageslxml-2.3-py2.6-win32.egg

Extracting lxml-2.3-py2.6-win32.egg to c:python26libsite-packages

Adding lxml 2.3 to easy-install.pth file

Installed c:python26libsite-packageslxml-2.3-py2.6-win32.egg

Processing dependencies for lxml==2.3

Finished processing dependencies for lxml==2.3

這時,再執行import 正確。

>>> import lxml

>>>

5. 參考資料

python的pypi,即python package index,可以下載大部分的包。easy_install可以自動到相應網站尋找正確的版本,並解決依賴問題。

可愛的 Python: 使用 setuptools 孵化 Python egg:

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源