Python cx_freeze打包工具处理问题思路及解决办法


Posted in Python onFebruary 13, 2016

以下是在使用cx_freeze过程中遇到的问题及解决办法(Win7)

1.问题描述:运行exe,启动无数个主程序,导致系统无法使用

  原因:在程序中使用了multiprocessing的包

  解决办法:在主文件if __name__ == "__main__":后,添加multiprocessing.freeze_support(),一定要在添加在最开始处

2. 问题描述:运行后,提示在freeze_support中sys.stdout.flush处异常

 原因:使用的PyQT作为界面,没有控制台

 解决办法:在调用multiprocessing.freeze_support()前,重定向stdout和stderr,添加:sys.stdout = io.StringIO()和 sys.stderr = io.StringIO()

3.使用shelve模块,IDE下调试可以正常使用,打包后无法使用

原因:shelve 的 open 函数在运行中还会装入其它的数据库管理模块,无从了解还需要哪些额外的包,故在打包时就漏掉了一些必要的模块

解决办法:修改打包脚本,添加如下内容:

packages = []
for dbmodule in ['dbhash', 'gdbm', 'dbm', 'dumbdbm']:
try:
__import__(dbmodule)
except ImportError:
pass
else:
# If we found the module, ensure it's copied to the build directory.
packages.append(dbmodule)
options = {
'build_exe': {
'includes': 'atexit',
"packages": packages
}
}

4.使用inspect.getsourcelines异常OSError: could not get source code

原因:打包后,都是pyc文件,没有源代码,导致动态获取代码失败

解决办法:将包含所需源码的py文件打包到library.zip文件中,在‘build_exe'参数中,增加'zip_includes':['path\\source.py']

以上给大家分享了Python cx_freeze打包工具处理问题思路及解决办法,希望对大家有所帮助。

Python 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python读csv文件去掉一列后再写入新的文件实例
Dec 28 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
Pygame框架实现飞机大战
Aug 07 Python
python能做哪些生活有趣的事情
Sep 09 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 Python
python实现简单文件读写函数
Feb 25 Python
解决python3安装pandas出错的问题
May 20 Python
Python何绘制带有背景色块的折线图
Apr 23 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 #Python
Python 中 Meta Classes详解
Feb 13 #Python
教大家使用Python SqlAlchemy
Feb 12 #Python
理解Python垃圾回收机制
Feb 12 #Python
一步步解析Python斗牛游戏的概率
Feb 12 #Python
常用python编程模板汇总
Feb 12 #Python
python黑魔法之参数传递
Feb 12 #Python
You might like
mysql 全文搜索 技巧
2007/04/27 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
Nginx实现反向代理
2017/09/20 Servers
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
JavaScript中的闭包
2016/02/24 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python使用递归的方式建立二叉树
2019/07/03 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
护士感人事迹
2014/05/01 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
周一问候语大全
2015/11/10 职场文书
自荐信大全
2019/03/21 职场文书