pyinstaller打包報(bào)錯(cuò): RecursionError: maximum recursion depth exceeded

今天給以前寫的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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容