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实现模拟按键,自动翻页看u17漫画
Mar 17 Python
Python列表删除的三种方法代码分享
Oct 31 Python
python3操作微信itchat实现发送图片
Feb 24 Python
Python实现端口检测的方法
Jul 24 Python
学生信息管理系统python版
Oct 17 Python
六行python代码的爱心曲线详解
May 17 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
Apr 18 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
python能在浏览器能运行吗
Jun 17 Python
Python判断变量是否是None写法代码实例
Oct 09 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
ThinkPHP之getField详解
2014/06/20 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
简单的分页代码js实现
2016/05/17 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
对Python中画图时候的线类型详解
2019/07/07 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
C#面试题
2016/05/06 面试题
本科毕业生自荐信
2014/05/26 职场文书
小学班级口号
2014/06/09 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js