1. 程式人生 > 其它 >pyinstaller:報錯A RecursionError maximum recursion depth exceeded occurred.

pyinstaller:報錯A RecursionError maximum recursion depth exceeded occurred.

技術標籤:pyinstall學習pythonpyinstaller

pyinstaller:報錯A RecursionError maximum recursion depth exceeded occurred.For working around please follow these instructions

錯誤資訊如下

  • 將cmd路勁改為main.py路徑,使用pyinstaller -F mian.py 出現以下錯誤
=============================================================
A RecursionError (maximum recursion depth exceeded) occurred.
For working around please follow these instructions
=============================================================

1. In your program's .spec file add this line near the top::
import sys ; sys.setrecursionlimit(sys.getrecursionlimit() * 5) 2. Build your program by running PyInstaller with the .spec file as argument:: pyinstaller myprog.spec 3. If this fails, you most probably hit an endless recursion in PyInstaller. Please try to track this down has far as
possible, create a minimal example so we can reproduce and open an issue at https://github.com/pyinstaller/pyinstaller/issues following the instructions in the issue template. Many thanks. Explanation: Python's stack-limit is a safety-belt against endless recursion, eating up memory. PyInstaller imports modules recursively. If the structure how modules are imported within your program is awkward, this leads to the nesting being too deep and hitting Python's stack-limit. With the default recursion limit (1000), the recursion error occurs at about 115 nested imported, with limit 2000 at about 240, with limit 5000 at about 660.

解決步驟

1. 開啟生成的 .spec 檔案在表頭輸入以下程式碼

import sys 
sys.setrecursionlimit(sys.getrecursionlimit()*5)

2. 儲存後,在cmd中執行 pyinstaller myprog.spec

  • 注意:cmd路徑為 main.py的路徑