[問題] MEIPASS - No such file or directory er

看板Python作者 (imhandmore)時間2年前 (2022/01/23 15:25), 2年前編輯推噓7(7024)
留言31則, 5人參與, 2年前最新討論串1/4 (看更多)
我用OpennCC模組製作程式碼,我在IDE環境上面可以順利執行 但等到我用pyinstaller 打包成exe之後就會顯示下列錯誤: Traceback (most recent call last): File "converter2.py", line 20, in <module> File "opencc\opencc.py", line 55, in __init__ File "opencc\opencc.py", line 106, in _init_dict FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Claude\\AppData\\Local\\Temp\\_MEI151842\\opencc\\config\\s2tw.json' [20160] Failed to execute script converter2 ---------------------------- 我看stackoverflow的文章,加上adddata也是一樣 目前苦惱不知道怎麼解決,請各位幫我想個辦法,或者請私訊我 我可以提供報酬請你們幫忙解決 ----- Sent from JPTT on my Google Pixel 3a. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.175.207 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1642922709.A.4AD.html

01/23 16:35, 2年前 , 1F
--add-data應該可以解決?你是怎麼指定path?
01/23 16:35, 1F
我寫在下面訊息

01/23 17:26, 2年前 , 2F
因為他說我缺少 s2tw.json,所以我找到存放這個json的
01/23 17:26, 2F

01/23 17:26, 2年前 , 3F
路徑去adddata整個目錄
01/23 17:26, 3F

01/23 17:26, 2年前 , 4F
我用 pyinstaller -F --add-data "C:/Python38/Lib/si
01/23 17:26, 4F

01/23 17:26, 2年前 , 5F
te-packages/opencc/config;config/" 檔案名稱.py
01/23 17:26, 5F
※ 編輯: imhandmore (1.200.249.242 臺灣), 01/23/2022 17:26:36

01/23 18:33, 2年前 , 6F

01/23 18:34, 2年前 , 7F
可以試試看這篇下方回答
01/23 18:34, 7F
或顯示no MEIPASS的 reference的樣子 是的,我也有參考這篇。但還是出現錯誤,不過我用sys._MEIPASS的時候會顯示no MEIPASS module,而且import sys也顯示沒被使用 ※ 編輯: imhandmore (1.200.249.242 臺灣), 01/23/2022 18:57:24 ※ 編輯: imhandmore (1.200.249.242 臺灣), 01/23/2022 18:58:48

01/23 19:29, 2年前 , 8F
~"~, 用venv弄個獨立環境試試?
01/23 19:29, 8F
請問怎麼使用 ※ 編輯: imhandmore (1.200.249.242 臺灣), 01/23/2022 19:31:41

01/23 19:35, 2年前 , 9F

01/24 00:11, 2年前 , 10F
;opencc/config" 目標path改這樣試試
01/24 00:11, 10F

01/24 00:14, 2年前 , 11F
因為實際讀取時是去讀 MEI151842\\opencc\\config
01/24 00:14, 11F

01/25 10:10, 2年前 , 12F
你打包執行檔,應該考慮目標平台怎麼讀取到這個 json
01/25 10:10, 12F

01/25 10:10, 2年前 , 13F
01/25 10:10, 13F

01/25 10:13, 2年前 , 14F
你要安裝的目標平台,基本上User的AppData不會有你需要
01/25 10:13, 14F

01/25 10:13, 2年前 , 15F
的檔案,因為那只在你的開發電腦上安裝,除非你自己寫
01/25 10:13, 15F

01/25 10:13, 2年前 , 16F
安裝精靈把檔案放進AppData。
01/25 10:13, 16F

01/25 10:15, 2年前 , 17F
剛剛看了一下opened 的介紹,你需要的這個檔案,應該是
01/25 10:15, 17F

01/25 10:15, 2年前 , 18F
可以放在專案目錄下,用相對路徑去讀取就好。包裝執行
01/25 10:15, 18F

01/25 10:15, 2年前 , 19F
檔時,直接用 —add-data 就可以了
01/25 10:15, 19F

01/25 10:16, 2年前 , 20F
(自動選字錯字了,不是opened,是opencc)
01/25 10:16, 20F

01/25 10:19, 2年前 , 21F
如果你沒打算寫安裝精靈,建議你把東西都放在專案目錄
01/25 10:19, 21F

01/25 10:19, 2年前 , 22F
下,用相對路徑去讀取。因為你安裝的目標平台,使用者
01/25 10:19, 22F

01/25 10:19, 2年前 , 23F
名稱根本不能保證完全一樣,你的絕對路徑一定常常出問
01/25 10:19, 23F

01/25 10:19, 2年前 , 24F
題。
01/25 10:19, 24F

01/25 10:37, 2年前 , 25F
(就以你的寫法來說,檔案的絕對路徑在 Claude 這個使
01/25 10:37, 25F

01/25 10:37, 2年前 , 26F
用者的 AppData 資料夾中,但安裝這個執行檔的使用者,
01/25 10:37, 26F

01/25 10:37, 2年前 , 27F
名字會這麼巧一樣是Claude 嗎?不一樣,那當然就找不
01/25 10:37, 27F

01/25 10:37, 2年前 , 28F
到檔案囉)
01/25 10:37, 28F

01/25 11:55, 2年前 , 29F
le大對sys._MEIPASS的動態路徑觀念要參考一下
01/25 11:55, 29F

01/25 17:24, 2年前 , 30F
感覺我好像講太長了,應該單獨開一篇回覆比較好,哈哈
01/25 17:24, 30F

01/25 17:24, 2年前 , 31F
01/25 17:24, 31F
文章代碼(AID): #1XxGBLIj (Python)
文章代碼(AID): #1XxGBLIj (Python)