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


Posted in Python onApril 08, 2015

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,需要改下文件:

Lib\distutils\msvc9compiler.py

寻找:

VERSION = get_build_version()

在下面增加:

VERSION = 11.0

如果出现错误:

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 setup
import py2exe
import sys,os
 
if sys.version_info.major >= 3.0:
  opt_bundle_files = 0
else:
  opt_bundle_files = 1
includes = ["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")] }],
)
Python 相关文章推荐
使用python编写批量卸载手机中安装的android应用脚本
Jul 21 Python
python动态参数用法实例分析
May 25 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
Python元组拆包和具名元组解析实例详解
Mar 26 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
详解Python正则表达式re模块
Mar 19 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 #Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 #Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 #Python
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 #Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 #Python
使用IPython来操作Docker容器的入门指引
Apr 08 #Python
仅用50行Python代码实现一个简单的代理服务器
Apr 08 #Python
You might like
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
vue 子组件向父组件传值方法
2018/02/26 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
vue实现购物车列表
2020/06/30 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
应急管理培训方案
2014/06/12 职场文书
实验心得体会
2014/09/05 职场文书
铁路安全反思材料
2014/12/24 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
部门2015年度工作总结
2015/04/29 职场文书
物业保安辞职信
2015/05/12 职场文书
联谊会开场白
2015/06/01 职场文书
2019新员工心得体会
2019/06/25 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电