时间:2021-05-22
以下是在使用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:passelse:# 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打包工具处理问题思路及解决办法,希望对大家有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
目前网上能获取的免费的python打包工具主要有三种:py2exe、PyInstaller和cx_Freeze。下面简单介绍windows7下cx_Freeze
本文实例讲述了Python使用cx_Freeze库生成msi格式安装文件的方法。分享给大家供大家参考,具体如下:①.需要在目录下面创建一个文件。setup.py
教你用Python批量查询关键词微信指数。前期准备安装好Python开发环境及Fiddler抓包工具。前期准备安装好Python开发环境及Fiddler抓包工具
Python中strisnotcallable问题详解及解决办法问题提出:在Python的代码,在运行过程中,碰到了一个错误信息:python代码:defche
一.常见打包工具的介绍在打包工具中,常见的有RequireJS,browserify,webpack,其中RequireJS是一个JavaScript模块加载器