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读文件逐行处理的示例代码分享
Dec 27 Python
python pdb调试方法分享
Jan 21 Python
Python编程之多态用法实例详解
May 19 Python
python3 flask实现文件上传功能
Mar 20 Python
使用tensorflow实现线性svm
Sep 07 Python
python实现杨氏矩阵查找
Mar 02 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
什么是python的id函数
Jun 11 Python
python属于解释语言吗
Jun 11 Python
python3.x中安装web.py步骤方法
Jun 23 Python
无惧面试,带你搞懂python 装饰器
Aug 17 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
php实现可逆加密的方法
2015/08/11 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
Python实现统计单词出现的个数
2015/05/28 Python
详解python持久化文件读写
2019/04/06 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
Django Rest framework频率原理与限制
2019/07/26 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
python判断变量是否为列表的方法
2020/09/17 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
绩效专员岗位职责
2013/12/02 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
师德师风整改措施
2014/10/24 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
鉴史问廉观后感
2015/06/10 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python