簡體   English   中英

python PyInstaller創建的可執行文件無法運行exe錯誤:找不到Temp \\\\ _ MEI175682(數據文件)

[英]python PyInstaller created executable failed to run the exe Error: cannot find Temp\\_MEI175682 (data file)

使用PyInstaller為我的腳本創建了一個exe,並在運行exe時拋出以下錯誤,好像我運行.py文件沒有發現問題。

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\\\Users\\\\my_username\\\\AppData\\\\Local\\\\Temp\\\\_MEI175682\\\\resources\\\\template.json' [13396] Failed to execute script my_script

我已經為PyInstaller包含的數據提供了所有正確的標志,並成功傳遞了exe的創建。

我使用了--add-data標志,我在spec文件中使用了data字段。

[編輯此行並添加您為創建exe所提供的確切命令]

在給定目錄路徑的錯誤中深入了解了沒有這樣的目錄或文件的情況。 無法找到Temp \\ _MEI175682

'C:\\Users\\my_username\\AppData\\Local\\Temp\\_MEI175682\\resources\\template.json'

pyinstaller安裝在。\\ scripts \\目錄中;為什么pyinstaller在上面目錄中查找文件不存在的.json文件。

文件(template.json')也在。\\ scripts \\ template.json目錄中。

要解決這個問題,最好的方法是什么? 1.應該在環境變量中添加一些東西來解決這個問題嗎? 2.我應該通過從。\\ scripts \\ pyinstaller文件夾運行腳本來創建單個文件.exe嗎? 3.在pyinstaller創建它之后,向.spec文件提供任何細節或向.spec文件添加某些細節將有助於解決這個問題?

任何幫助解決問題的細節都非常感謝。謝謝。 提前致謝。

這將是簡單而干凈的解決方案,檢查和喜歡並投票。

當您遇到以下錯誤時。

IOError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Temp\\_MEI502322\\resources\\template.json'

此解決方案在Python 2.7.10和Pyinstaller 3.0下測試。

將此文件放入腳本文件夾。 您的.py腳本可用示例123.py

將此掛鈎添加到您的發行版中它意味着在下面的新文件中添加它,例如xyx.py並將此文件保存在123.py文件可用的位置

from PyInstaller.utils.hooks import collect_data_files

#Instruct pyinstaller to collect data files from resources package.
datas = collect_data_files('resources')

因為這是錯誤C:\\ Users \\ my_username \\ AppData \\ Local \\ Temp \\ _MEI175682 \\ resources \\ template.json“ resources ”是您必須從中獲取數據文件的包。

現在從123.py文件夾中的命令窗口中運行以下命令

pyinstaller --onefile --additional-hooks-dir =。 123.py

exe將創建運行exe並檢查它是否正在獲取數據文件。

感謝Panda1100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM