le大好說,互通有無大家求進步
您看來有一個誤解之處是
原PO的狀況是,opencc有被打包了,但並不是所有套件下的檔案都被自動打包
s2tw.json這個檔是原PO要叫pyinstaller去抓來打包進exe的
並不是日後放在exe所在電腦,使用者還要確保自己電腦有這個json檔跟opencc
打包成功,exe自己帶著走,會當場重新產生json
而重新產生的位置,就是在sys._MEIPASS下
sys._MEIPASS,是每次exe一執行時強加sys的屬性
而預設值就是OS的TEMP PATH (通常就是User目錄的AppData下)
供 add-file 那些檔案在日後每次exe執行時重新產生到_MEIPASS
透過_MEIPASS的設計,exe在任意電腦上執行,
一切就相對於預設TEMP,不用管exe本身所在位置或使用者名稱
exe執行結束,TEMP中重新產生的資源檔也會被刪除
官方說明如下,再討論
================================================
1. https://pyinstaller.readthedocs.io/en/stable/usage.html