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