前段时间对Python几大打包工具都进行了研究,包括py2exe、pyInstaller和cx_Freeze。很可惜目前只有cx_Freeze支持Python3,而且据搜索到的资料,都说如果打包带GUI的脚本后得到的程序无法在中文路径下运行。于是我决定亲自进行测试。结果如下:
环境:Windows 7 32位+Python2.7+Python3.2+cx_Freeze4.2.3
Python版本 | 脚本类型 | 中文路径和文件名 |
2.7 | 控制台 | 支持 |
2.7 | GUI | 支持 |
3.2 | 控制台 | 支持 |
3.2 | GUI | 不支持 |
后来又搜索到一篇资料,可以通过修改cx_Freeze4.2.3的源代码后编译安装可解决此问题。
资料地址如下:http://blog.tcirc.org/yoxem/?p=1150 (需翻QIANG)
参照这篇资料修改了源码进行编译,编译过程出现问题,后来安装了VS2008后编译成功,打包后的GUI程序果然支持中文路径了,不过很可惜还是不能支持中文文件名。
看来要将Python3打包成EXE的道路曲折而艰辛呀!不过一个好消息是,最近看到pyInstaller官方公布的路线图,将在未来正式支持Python3,希望能在年底前看到这一里程碑版本的发布。