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 24 Python
Python Web框架Flask信号机制(signals)介绍
Jan 01 Python
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
python使用KNN算法识别手写数字
Apr 25 Python
处理python中多线程与多进程中的数据共享问题
Jul 28 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 Python
Python实现FLV视频拼接功能
Jan 21 Python
基于python实现模拟数据结构模型
Jun 12 Python
python openssl模块安装及用法
Dec 06 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
Javascript UrlDecode函数代码
2010/01/09 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
python中二维阵列的变换实例
2014/10/09 Python
深入理解Python中的元类(metaclass)
2015/02/14 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
Python三级目录展示的实现方法
2016/09/28 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
数据库的约束含义
2012/09/09 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
配件采购员岗位职责
2013/12/03 职场文书
运动会稿件200字
2014/02/07 职场文书
党员党性分析材料
2014/02/17 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android