win7 下使用python的setup tools
周海漢 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,下載地址在
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協議,轉載請註明來源