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 | |
即可去安裝。
一些參考示例:
【記錄】通過源碼方式安裝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
可以看到,确實自動下載下傳軟體包并安裝,類型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等差別:
可以看到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