1. 程式人生 > >python setuptools工具

python setuptools工具

setuptools是 Python Enterprise Application Kit(PEAK)的一個副專案,它 是一組Python的 distutilsde工具的增強工具(適用於 Python 2.3.5 以上的版本,64 位平臺則適用於 Python 2.4 以上的版本),可以讓程式設計師更方便的建立和釋出 Python 包,特別是那些對其它包具有依賴性的狀況。

藉助setup.py安裝python包

程式設計過程中,我們經常使用到第三方的python包,我們需要把該python包安裝到我們的系統中,一般情況下,我們下載的python包都包含一個名為setup.py的檔案,藉助於該檔案我們可以很方便的安裝該python包。
下面列出setup.py檔案的常見使用方法:
  • python setup.py build
藉助於該命令,我們可以編譯python包
  • python setup.py install
藉助於該命令,我們可以安裝python包
  • python setup.py sdist
藉助於該命令,我們可以製作分發包供其他人使用,之行完該命令後會在包內多出名為dist的資料夾,裡面包含相應的壓縮包檔案
  • python setup.py bdist_wininst
藉助於該命令,我們可以製作windows下的分發包,生成相應的.exe檔案,使用者直接點選安裝即可。
Note:
使用setup.py進行安裝python包時,首先確定你的系統中安裝了setuptools,否則會出現問題。較新的python版本比如python 2.7.10安裝時已經把setuptools和pip安裝到系統中,就不用我們重新安裝了。
Setuptools下載地址:https://pypi.python.org/pypi/setuptools/#downloads

藉助setup.py釋出python包

由上一小節可知,我們可以藉助python setup.py sdist以及python setup.py bdist_wininst命令釋出相應系統的下的python安裝包。下面介紹關於setup.py檔案的編寫。
setup.py中主要執行一個 setup函式,該函式中大部分是描述性東西,最主要的是packages引數,列出所有的package,可以用自帶的find_packages來動態獲取package。所以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包。 PS:文章簡要介紹了setuptools工具的使用,沒有詳細介紹setup.py檔案,感興趣的讀者可以參考我的另一篇文章:python中的setup.py詳解