天天看点

【转载】如何制作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