Python cx_freeze打包工具处理问题思路及解决办法
2016-02-13 00:00
866 查看
以下是在使用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 函数在运行中还会装入其它的数据库管理模块,无从了解还需要哪些额外的包,故在打包时就漏掉了一些必要的模块
解决办法:修改打包脚本,添加如下内容:
4.使用inspect.getsourcelines异常OSError: could not get source code
原因:打包后,都是pyc文件,没有源代码,导致动态获取代码失败
解决办法:将包含所需源码的py文件打包到library.zip文件中,在‘build_exe'参数中,增加'zip_includes':['path\\source.py']
以上给大家分享了Python cx_freeze打包工具处理问题思路及解决办法,希望对大家有所帮助。
将Python代码打包为jar软件的简单方法
Python脚本文件打包成可执行文件的方法
Windows下用py2exe将Python程序打包成exe程序的教程
Python使用py2exe打包程序介绍
零基础写python爬虫之打包生成exe文件
Python代码的打包与发布详解
python使用内存zipfile对象在内存中打包文件示例
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打包工具处理问题思路及解决办法,希望对大家有所帮助。
您可能感兴趣的文章:
使用cx_freeze把python打包exe示例将Python代码打包为jar软件的简单方法
Python脚本文件打包成可执行文件的方法
Windows下用py2exe将Python程序打包成exe程序的教程
Python使用py2exe打包程序介绍
零基础写python爬虫之打包生成exe文件
Python代码的打包与发布详解
python使用内存zipfile对象在内存中打包文件示例
相关文章推荐
- Python ftp上传文件
- Python 的正则表达式
- Python在Windows环境下命令行中使用UTF-8编码输出乱码解决
- 使用python开源组件yarn-api-client获取yarn信息
- 教大家使用Python SqlAlchemy
- 理解Python垃圾回收机制
- 一步步解析Python斗牛游戏的概率
- 用python创建和查询微信公众号菜单
- 自定义安装python,退格,方向键无法正常使用(转)
- python 中文编码
- Python教程学习简记9--Python 返回函数 闭包
- PythonNLP学习进阶:习题练习(2016-2-12)
- python判断key是否在字典用in不用has_key
- Python计算斗牛游戏的概率
- python控制gpio的一段代码抄的
- LIGO 用 Python 分析引力波数据
- Python包装网页微信API并实现简单自动回复
- Python 零碎信息-基础 02
- python:python爬虫
- Python接入天气预报api