python丰富的第三方库可以很轻松实现复杂的功能,但脚本文件不利用在其它电脑上共享,对端需要安装python及依赖类库,不方便使用。所幸有很三方软件py2exe,可以将python打包成exe程序,直接点击就可运行。
一. 安装py2exe
http://www.py2exe.org/ 下载py2exe,运行python setup.py 安装。
python 命令行下,运行import py2exe不报错,则安装成功。
当前py2exe只支持2.x的python,不支持3.x的python。
二. 控制台程序
在test.py 当前目录下创建setup.py,内容如下:
from distutils.core import setup import py2exe setup(console=['test.py'])
运行:python setup.py py2exe, 会在当前目前下生成dist文件夹,dist有test.exe产生。
运行结果:
查看dist内容,python依赖的类库_hashlib.pyd,bz2.pyd都被拷贝至当前目录。py2exe实际上通过调用python27.dll接口启动python解释器,来执行相应脚本。
注:目录中的*.pyd,*.zip等文件都不能删除,除了w9xpopen.exe外,否则程序启动失败。
二. GUI
下面看一个GUI实例,我们用wxPython实现了GUI加解密小工具。
from distutils.core import setupimport py2exe setup(windows=['encodepad.py'])
运行python setup.py py2exe,报错:No such file or directory: 'MSVCP90.dll'
本人安装的VS2012,的确不存在msvc90.dll,可通过下列方式觖决。
编译成功后,在dist下生成encodepad.exe,运行效果如下: