如題,在使用Pyinstaller庫打包過程中,如果遇到IndexError:tuple index out of range,不必驚慌,本質上是庫函式在傳參過程中出現異常
下面是解決方案:
找到..\envs\steamlit\lib\dis.py
這個檔案。
如果你是用的虛擬環境,比如conda,那這個檔案位於anaconda的安裝目錄
"E:\SOFTWARE\ANACONDA\envs\steamlit\lib\dis.py"
還有一種可以就是觀察報錯資訊,一般來說最後一條報錯資訊就是指向這個檔案。雙擊開啟編輯就好(PyCharm)
在這個檔案中進行搜尋
搜尋內容為_unpack_opargs
找到以這個關鍵詞為名的函式
在else:
分支下新增一行程式碼extended_arg = 0
結果為下面所示。
def _unpack_opargs(code):
extended_arg = 0
for i in range(0, len(code), 2):
op = code[i]
if op >= HAVE_ARGUMENT:
arg = code[i+1] | extended_arg
extended_arg = (arg << 8) if op == EXTENDED_ARG else 0
else:
arg = None
extended_arg = 0
yield (i, op, arg)
這樣應該就能正常打包了(*^_^*)