今天給以前寫的python腳本用pyinstaller打包的時(shí)候,居然報(bào)錯(cuò)了:
...
File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
? ? return visitor(node)
? File "d:\programdata\anaconda3\lib\ast.py", line 261, in generic_visit
? ? self.visit(item)
? File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
? ? return visitor(node)
? File "d:\programdata\anaconda3\lib\ast.py", line 263, in generic_visit
? ? self.visit(value)
? File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
? ? return visitor(node)
RecursionError: maximum recursion depth exceeded
看上去似乎是某個(gè)庫(kù)自己遞歸遍歷玩的太嗨了,超過了python的棧高度限制
搜索了一番,很快找到了解決辦法:?https://stackoverflow.com/questions/38977929/pyinstaller-creating-exe-runtimeerror-maximum-recursion-depth-exceeded-while-ca
在此總結(jié)下解決步驟:
1)pyinstaller -F xxx.py?
這一步肯定會(huì)報(bào)上述錯(cuò)誤導(dǎo)致失敗,但是會(huì)產(chǎn)生一個(gè)xxx.spec文件
2)在xxx.spec文件中增加兩行(添加在原文件第二行):
import sys
sys.setrecursionlimit(5000)
3)pyinstaller xxx.spec
打包成功。
————————————————
版權(quán)聲明:本文為CSDN博主「放開那禽獸沖我來」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lucytheslayer/article/details/81030840