Pyinstaller打包包含matplotlib模块的程序

使用Pyinstaller打包包含matplotlib模块的Python程序时遇到递归深度超出错误。问题源于matplotlib在打包过程中需要大量依赖,导致递归过深。通过创建并修改spec文件,增加配置以避免递归错误,成功打包程序。
摘要由CSDN通过智能技术生成
Pyinstaller打包含matplotlib模块的程序
2018/6/3

pyinstaller是个好东西,它是用来对python脚本进行打包生成可执行程序.exe的外部工具。

最简单下载该工具的方式是:pip install pyinstaller

然后在命令行中进入待打包的python工程下,执行pyinstaller -F -w test.py

其中-F表示只生成一个独立的可执行程序.exe ,-w表示在运行程序是不出现那个黑黑的dos界面。

然后就可以愉快的在工程文件夹下看到一个dist文件夹,其中有你想要的exe文件。

是不是很简单,然而上面的套路只适用于简单的python程序。

这次写迷宫生成程序,用到了pyqt做界面,这不是主要的。最主要的是用到了matplotlib模块来展示迷宫图片。本来挺好的一件事情,又新学了一个模块,然而。出bug了。

在我按照上面的套路生成exe文件时,一直报错:

for field,value in iter_fields(node):

RecursionError:maximum recursion depth exceeded(递归深度超出最大限制)

百思不得其解,经过一系列的实验,发现matplotlib是“毒瘤”。当去掉代码中所有的matplotlib包时,可以正常打包。
最后在StackOverflow上找到了答案,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值