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 Flask实现restful api service
Dec 04 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
使用django的objects.filter()方法匹配多个关键字的方法
Jul 18 Python
python 命令行传入参数实现解析
Aug 30 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
python+flask编写一个简单的登录接口
Nov 13 Python
教你用python控制安卓手机
May 13 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 Python
分享python函数常见关键字
Apr 26 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
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
实例Python处理XML文件的方法
2015/08/31 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
python 多线程中join()的作用
2020/10/29 Python
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
个人安全生产承诺书
2014/05/22 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
防汛工作情况汇报
2014/10/28 职场文书
培训师岗位职责
2015/02/14 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
辩护词格式
2015/05/22 职场文书
生日宴会祝酒词
2015/08/10 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android
Python测试框架pytest高阶用法全面详解
2022/06/01 Python