Python模塊安裝
一、 單文件模塊
直接把文件拷貝到 $python_dir/Lib
二、 多文件模塊,帶setup.py
python setup.py install
三、 egg文件
1) 下載ez_setup.py,運行python ez_setup
2) easy_install *.egg
注:雖然Python的模塊可以拷貝安裝,但是一般情況下推薦制作一個安裝包,即寫一個setup.py文件來安裝。
setup.py文件的使用如下:
% python setup.py build #編譯
% python setup.py install #安裝
% python setup.py sdist #制作分發包
% python setup.py bdist_wininst #制作windows下的分發包
% python setup.py bdist_rpm
setup.py文件的編寫
setup.py中主要執行一個 setup函數,該函數中大部分是描述性東西,最主要的是packages參數,列出所有的package,可以用自帶的find_packages來動態獲取package。所以setup.py文件的編寫實際是很簡單的。
簡單的例子:
setup.py文件:
from setuptools import setup, find_packages
setup(
name = " mytest " ,
version = " 0.10 " ,
description = " My test module " ,
author = " Robin Hood " ,
url = " http://www.csdn.net " ,
license = " LGPL " ,
packages = find_packages(),
scripts = [ " scripts/test.py " ],
)
mytest.py
import sys
def get():
return sys.path
scripts/test.py
import os
print os.environ.keys()
setup中的scripts表示將該文件放到 Python的Scripts目錄下,可以直接用。OK,簡單的安裝成功,可以運行所列舉的命令生成安裝包,或者安裝該python包。本機測試成功(win32-python25)!
四、setuptools工具安裝
a. 使用ez_setup.py安裝setuptools
這是 setuptools 自豪的一種安裝方式,只需要一個大約 8K 作為的腳本ez_setup。py,就能自動為用戶安裝包括 setuptools 自身在內的許多 Python 包。 使用這種方式,用戶只需要下載 ez_setup。py 並運行,就可以自動下載和安裝適合用戶當前 Python 版本的適當的 setuptools egg 文件(當然,用戶需要 Python 2.3.5 以上的版本,64 位操作系統的用戶則需要 Python 2.4 以上的版本)。此外,這段腳本還會將可執行的 easy_install 腳本安裝到用戶所有的操作系統 Python 可執行腳本正常應該安裝的位置(例如,Windows 用戶會安裝到 Python 安裝目錄下的 Scripts 目錄中)。關於這種安裝方法的更詳細說明和注意事項,請參考其官方說明(見擴展閱讀)。簡單的安裝命令如下: wget -q ez_setup。py下載地址(見擴展閱讀) 安裝完后,最好確保
b. 使用完整的安裝包安裝setuptools
當然,用戶也可以直接使用 setuptools發布版本來安裝。對於使用 Windows 的用戶,這也是挺方便的方法,許多 Linux 發行版的官方包管理倉庫都包含 setuptools 的某個版本。例如,如果你跟我一樣使用 Ubuntu ,那安裝 setuptools 只是簡單的進行如下操作:
# apt-get install python-setuptools
安裝模塊
easy_install package-name,比如 easy_install pylab
模塊卸載
easy_install -m package-name, 比如easy_install -m pylab
easy_install -m 包名,可以卸載軟件包,但是卸載后還要手動刪除遺留文件。
setuptools它可以自動的安裝模塊,只需要你提供給它一個模塊名字就可以,並且自動幫你解決模塊的依賴問題。一般情況下用setuptools給安裝的模塊會自動放到一個后綴是.egg的目錄里。
在Windows里,easy_install這個命令在python安裝目錄下的scripts里面,所以需要把scripts加到環境變量的PATH里,這樣用起來就更方便,linux下不需要注意這個問題。
轉載於http://blog.163.com/yang_jianli/blog/static/161990006201162152724339/
使用總結,還是用easy_install安裝方式合適,他會根據模塊的依賴關系,下載所有的安裝包。