Windows下用py2exe将Python程序打包成exe程序的教程

py2exe在sourceforge 的下载只支持到2.7。

针对python3.0+的版本,需要自己编译。
1.下载源码

svn checkout svn://svn.code.sf.net/p/py2exe/svn/trunk py2exe-svn
2.编译环境

这里使用的是vs2014.
3.安装

进入py2exe-3

python setup.py install

登录后复制

这里会进行编译、安装。

此外,python默认使用的是vs9,针对vs2014,需要改下文件:

复制代码 代码如下:

立即学习“Python免费学习笔记(深入)”;

Libdistutilsmsvc9compiler.py

寻找:

复制代码 代码如下:

立即学习“Python免费学习笔记(深入)”;

VERSION = get_build_version()

在下面增加:

复制代码 代码如下:

立即学习“Python免费学习笔记(深入)”;

VERSION = 11.0

如果出现错误:

复制代码 代码如下:

立即学习“Python免费学习笔记(深入)”;

Failed to load and parse the manifest. The system cannot find the file specified.

error: command ‘mt.exe’ failed with exit status 31

解决办法:由于vs2010后的link.exe的参数稍微有些改变,所以在link的时候没有生成manifest文件,自然mt.exe找不到这个文件。只需要在msvc9compiler.py里面搜索一下MANIFESTFILE,然后在他上面加一行 ld_args.append(‘/MANIFEST’),保存就OK了。(python3.4好像没有这个问题,2.7存在)
4.setup.py

setup.py可以参考官网,其中的参数–bundle-files,需要特别说下,想打成一个整包要设成0.

变化可以参考:http://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/py2exe-3/
最后附上setup.py

from distutils.core import setupimport py2exeimport sys,os if sys.version_info.major >= 3.0:  opt_bundle_files = 0else:  opt_bundle_files = 1includes = ["PyQt4.QtCore","PyQt4.QtGui","sip"]options = {"py2exe":     { "compressed": 1,      "optimize": 2,      "includes": includes,      "bundle_files": opt_bundle_files,     }   }setup(  version = "0.1.0",  description = "test_add",  options = options,  zipfile=None,  console=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],  #windows=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],)

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2294053.html

(0)
上一篇 2025年2月28日 02:34:08
下一篇 2025年2月23日 22:48:04

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论