py2exe使用

来源:互联网 发布:金山软件开放平台 编辑:程序博客网 时间:2024/06/08 06:48

假如你用python写了个小程序,想给别人用或者给别人演示,但他电脑里没装python、wxpython等,这时候你可以试试py2exe,它是一个将python脚本转换成windows上的可执行程序(*.exe)的工具。安装就不多说了,简单介绍一下用法:

一般来说,使用py2exe的步骤如下:
写一个用于发布程序的设置脚本: 如果你有一个名为helloworld.py的python脚本,现在想把它转换为exe可执行程序,,可以在helloworld所在目录新建一个setup.py文件(文件名随意),内容如下:
#!/usr/bin/env python
from distutils.core import setup
import py2.exe

setup(console=["helloworld.py"])
在终端(Windows里的CMD,Linux里的shell)中输入:
python setup.py py2exe
执行命令后当前目录中有两个文件夹build和dist,其中build中是临时文件,dist中有生成的helloworld.exe文件和必要的库文件,发布时将整个dist目录打包即可

上面的例子是简单的控制台程序,如果要转换的程序是由pygtk、pyqt或wxpython等设计的GUI程序,则需要对setup.py文件进行修改,具体情况如下:
界面元素全部由python代码生成(区别于使用XRC文件的方式): 这种情况下将上面的setup.py文件中的console=xxx改为windows=xxx即可
界面元素使用XRC机制设计: 这种情况稍微复杂,需要将设计中的*.xrc文件包括到dist目录中,具体方法为修改setup.py为下面这种形式:
from distutils.core import setup
import glob
import py2exe

setup(name="test",
windows=["main.py"], #假设设计文件为main.py
data_files=[("",["gui.xrc",]),]
)

上面的setup.py中的data_files=XXX是要介绍的第三部分内容——指定额外的文件,即如果想在软件发布时包括一些额外必需的文件如icons、images等。这种情况下setup.py文件的写法如下:
from distutils.core import setup
import glob
import py2exe

setup(name="test",
windows=["main.py"],
data_files=[("dir1", ["a", "b", "c"])
("dir2", ["d", "e", "f"])]
)

上面这个setup.py执行后就会在dist目录中生成dir1、dir2两个字目录,并分别将a、b、c和d、e、f复制到这两个字目录中,明白后再回头看带XRC文件的那个setup.py,很简单吧,就是把gui.xrc包括到dist目录中。

收藏到:Del.icio.us