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 相关文章推荐
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python安装Scrapy图文教程
Aug 14 Python
Python多线程原理与用法实例剖析
Jan 22 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
详解Python3迁移接口变化采坑记
Oct 11 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
python中pycryto实现数据加密
Apr 29 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
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
js保留两位小数方法总结
2018/01/31 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python队列Queue的详解
2019/05/10 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
非常详细的C#面试题集
2016/07/13 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
交通安全寄语大全
2014/04/08 职场文书
歌舞青春观后感
2015/06/10 职场文书
安全教育观后感
2015/06/17 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python