python学习第十八章——程序打包

来源:互联网 发布:java中的字符串反转 编辑:程序博客网 时间:2024/05/21 09:35

1.Distutils:它可以用来建立简单的windows安装程序,再加上扩展程序py2exe,就能建立独立的windows可执行程序了。下面是一个简单的Distutils安装脚本:


将上面的脚本存储为setup.py(Distutils按章脚本的惯例),并确保在同一个目录下存在名为hello.py的模块文件。现在就可以使用这个脚本了,执行命令:python setup.py build。这时会有如下信息输出:


Distutils创建了叫做build的子目录,其中包含名为lib的子目录,并且把hello.py的一个副本放置在build/lib内。build子目录是Distutils组装包的工作区。在安装的时候不需要运行build命令,如果需要的话,在运行install命令的时候它就自动运行了:python setup.py install。这时会有如下信息输出:


2.建立存档文件:python setup.py sdist。这个命令就是用于源代码发布使用的。运行这个命令会得到一些警告,我们可以不用去管它。在创建源代码发布程序时,程序同时会创建叫做MANIFEST的文件,其中包括所有文件的列表。MANIFEST.in文件时清单的模板,在指明安装内容时要用到,可以使用如下命令来指定想要包含的文件:


现在除了build子目录外,还有一个dist子目录。可以在它里面找到一个叫做Hello-1.0.tar.gz的tar存档文件。
3.创建windows安装程序或RPM包:使用bdist命令可以创建单一的windows安装程序和linux RPM文件。在linux中也可以创建windows安装程序:python setup.py bdist --formats=wininst,wininst是针对windows安装程序的文件。这时将dist/Hello-1.0.win32.exe复制到windows中,就可以看到安装向导了。

4.编译扩展:对于上一章的palindrome.c源代码,下面的setup.py脚本可以用于编译:


如果使用install命令运行这个setup.py脚本,palindrome扩展模块应该会在安装前自动编译。如果只想在当前目录编译扩展,那么可以使用下面的命令:python setup.py build_ext --inplace。
5.使用py2exe创建可执行程序:源代码:print 'hello world';raw_input('press <enter>');在包含这个文件的目录中创建setup.py:from distutils.core import setup;import py2exe;setup(console=['hello.py']);运行脚本:python setup.py py2exe。这样会创建控制台应用程序(hello.exe)以及位于dist子目录中的其他一些文件。
原创粉丝点击