Pyinstaller打包含matplotlib模块的程序
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上找到了答案,