天天看點

python安裝子產品與包 - youxin

python安裝子產品與包

2013-05-05 22:40 

youxin 

閱讀(73662) 

評論(0) 

編輯 

收藏 

舉報

Python子產品,簡單說就是一個.py檔案,其中可以包含我們需要的任意Python代碼。迄今為止,我們所編寫的所有程式都包含在單獨的.py檔案中,是以,它們既是程式,同時也是子產品。關鍵的差別在于,程式的設計目标是運作,而子產品的設計目标是由其他程式導入并使用。

不是所有程式都有相關聯的.py檔案-比如說,sys子產品就内置于Python中,還有些子產品是使用其他語言(最常見的是C語言)實作的。不過,Python的大多數庫檔案都是使用Python實作的,是以,比如說,我們使用了語句import collections,之後就可以通過調用collections.namedtuple()建立命名的元組,而我們存取的功能則實作于collections.py子產品檔案中。對程式而言,子產品使用哪種語言實作并不重要,因為所有子產品導入與使用的方式都是相同的。

python還提供了建立包的工具.包實際上是多個子產品聚集在一起形成的,之是以要聚集在一起,通常是因為這些子產品提供了相關聯的功能,或者彼此存在一定的依存關系。

Python中,想要安裝第三方安裝包,即third library,package等,對于熟悉的人來說,很簡單。

但是對于新手,至少對于之前的我,很難,往往隻是安裝一個很小的包,都被搞得一頭霧水。

現在略微清楚了大概邏輯了。

Python中第三方的庫(library)、子產品(module),包(package)的安裝方法

方法1:下載下傳源碼,手動運作setup.py install去安裝

下載下傳對應的源碼,往往都是.tar.gz,.zip的壓縮包,解壓後,打開windows的cmd,切換到對應目錄,運作:

?

1

setup.py 

install

即可去安裝。

一些參考示例:

【記錄】通過源碼方式安裝pip

【放棄解決】運作setup.py install去安裝PyGreSQL出錯:error: Unable to find vcvarsall.bat

【記錄】Python中安裝可以讀寫excel的xls檔案的xlutils子產品(需依賴于xlrd和xlwt)

方法2:利用第三方安裝工具(如pip,easy_install,distribute等)去自動化安裝

利用的目前常見的一些自動化安裝工具,比如pip,easy_install,distribute等,自動幫你下載下傳源碼,并安裝。

而且很多時候,由于要安裝的包,還要依賴一些其他的别的包,而這類自動化安裝工具,會自動幫你解決依賴關系,自動幫你下載下傳并安裝所缺少的那些包,是以相對來說,就省去了你的麻煩了。

1.安裝easy_install.

首先下載下傳easy_install的安裝包,下載下傳位址:

http://pypi.python.org/pypi/setuptools

如果想使用easy_install工具,可能需要先安裝setuptools,不過更酷的方法是使用ez_setup.py腳本:

wget -q http://peak.telecommunity.com/dist/ez_setup.py

python ez_setup.py

官方說法:The recommended way to install setuptools on Windows is to download ez_setup.py and run it. The script will download the appropriate .egg file and install it for you.下載下傳ez_setup.py然後直接運作它就安裝成功了。

安裝完後,最好確定easy_install所在目錄已經被加到PATH環境變量裡:

Windows: C:\Python25\Scripts (這裡我們修改為自己安裝的python目錄下的Scripts)

Linux: /usr/local/bin

比如說要安裝Python的MySQL支援,可以執行如下指令,系統會自動在pypi網站清單裡查找相關軟體包:

easy_install MySQL-python

python安裝子產品與包 - youxin

可以看到,确實自動下載下傳軟體包并安裝,類型linux下面安裝軟體了。

如果想删除通過easy_install安裝的軟體包,比如說:MySQL-python,可以執行指令:

easy_install -m MySQL-python

此操作會從easy-install.pth檔案裡把MySQL-python的相關資訊抹去,剩下的egg檔案,你可以手動删除。

參考:http://hi.baidu.com/thinkinginlamp/item/69cab949518d9aea1e19bcc1

python包管理工具:easy_install, setuptools, pip,distribute等差別:

python安裝子產品與包 - youxin

可以看到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 (pip install --upgrade 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"      

安裝後的包在python27\Lib\site-packages 目錄下。

Python中用pip安裝子產品

【記錄】通過源碼方式安裝pip

【已解決】Python中,運作pip install Django出錯:’pip’ 不是内部或外部指令,也不是可運作的程式或批處理檔案

Python中用easy_install安裝子產品

【已解決】Python中使用setup.py install去安裝别的子產品結果出錯:ImportError: No module named setuptools

Python中用distribute安裝子產品

【記錄】為Python安裝distribute

【記錄】為Python安裝MySQL資料庫子產品:MySQLdb

  • 分類 python
python安裝子產品與包 - youxin