今天編譯main.py成獨立執行檔案時遇到一些問題,趕緊記錄下來!
> pyinstaller main.py --onefile --noconsole
跑到一半會跳出錯誤訊息
問題:RecursionError: maximum recursion depth exceeded
簡而言之,就是recusion次數爆掉,必須設定一個較大的數值避免
發現在pyinstaller編譯過程中會產生一個*.spec檔案在目前的根目錄下
利用純文字編輯器打開進行修改
插入兩行指令至*.spec
import sys #我是新增的
sys.setrecursionlimit(9000000) #我是新增的,這邊數字越大越好
結果如下
改執行下列指令
>pyinstaller main.spec
接著,發現編譯一直卡在Builing COLLECT COLLECT-00.toc,
好險後來找到解決方案,
錯誤原因是因為專案在外掛硬碟下編譯,必須在系統槽C:\下編譯就可以,
一整個 傻眼
更傻眼是編譯成功仍然遇到一連串錯誤訊息
原來pyinstaller無法安裝套件ultralytics,
索性就從Anaconda的site-packages下複製一份過來試試看
其中me123請換成你的使用者名稱
yolov8請換成你的conda image名稱
經過一連串努力總算可以成功執行
載入一張圖像,進行姿態偵測
載入另一張圖像,進行姿態偵測,雙手是我在意的部分
載入另一張圖像,就連背面也可以偵測到手臂,厲害了!