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