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 连连看连接算法
Nov 22 Python
python字符串连接方式汇总
Aug 21 Python
Python读写Excel文件方法介绍
Nov 22 Python
Python中函数的多种格式和使用实例及小技巧
Apr 13 Python
详解python while 函数及while和for的区别
Sep 07 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
python经典趣味24点游戏程序设计
Jul 26 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
PHP文件上传类实例详解
2016/04/08 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
js实现打字小游戏
2019/12/17 Javascript
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
python使用smtplib模块发送邮件
2020/12/17 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
特色蛋糕店创业计划书
2014/01/28 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
电影地道战观后感
2015/06/04 职场文书