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文件时清单的模板,在指明安装内容时要用到,可以使用如下命令来指定想要包含的文件:
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脚本可以用于编译:
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子目录中的其他一些文件。