天天看點

【轉載】如何制作python安裝子產品(setup.py)

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       #制作 windows 下的分發包 

setup.py 檔案的編寫:

      setup.py 中主要執行一個 setup 函數,該函數中大部分是描述性東西,最主要的是 packages 參數,列出所有的 package ,可以用自帶的 find_packages 來動态擷取 package 。是以 setup.py 檔案的編寫實際是很簡單的。

簡單的例子: 

setup.py 檔案: 

<a href="http://my.oschina.net/moooofly/blog/99919#">?</a>

1

2

3

4

5

6

7

8

9

10

11

<code>from</code> <code>setuptools</code><code>import</code> <code>setup, find_packages</code>

<code>setup(</code>

<code>      </code><code>name</code><code>=</code><code>"mytest"</code><code>,</code>

<code>      </code><code>version</code><code>=</code><code>"0.10"</code><code>,</code>

<code>      </code><code>description</code><code>=</code><code>"my test module"</code><code>,</code>

<code>      </code><code>author</code><code>=</code><code>"robin hood"</code><code>,</code>

<code>      </code><code>url</code><code>=</code><code>"http://www.csdn.net"</code><code>,</code>

<code>      </code><code>license</code><code>=</code><code>"lgpl"</code><code>,</code>

<code>      </code><code>packages</code><code>=</code> <code>find_packages(),</code>

<code>      </code><code>scripts</code><code>=</code><code>[</code><code>"scripts/test.py"</code><code>],</code>

<code>      </code><code>)</code>

mytest.py 檔案:

<code>import</code> <code>sys</code>

<code>def</code> <code>get():</code>

<code>    </code><code>return</code> <code>sys.path</code>

scripts/test.py檔案:

<code>import</code> <code>os</code>

<code>print</code> <code>os.environ.keys()</code>

      setup 中的 scripts 表示将該檔案放到 python 的 scripts 目錄下,可以直接用。ok,簡單的安裝成功,可以運作所列舉的指令生成安裝包,或者安裝該 python 包。

本機測試成功(win32-python25)! 

轉自: 

http://blog.csdn.net/foyuan/archive/2007/11/14/1883924.aspx 

http://www.okpython.com/bbs/thread-3103-1-1.html 

http://hi.baidu.com/jiyeqian/blog/item/00f9fff7e6160d2b730eec4d.html