使用pyinstaller進行打包程式,執行程式時發現,放置於程式目錄的檔案無法載入(相對路徑方式訪問)。
經過一番測試,發現執行程式時,程式執行的當前目錄不一定是程式檔案所在的目錄。
而使用--add-data與--add-binary打包的檔案,發現存放於系統的臨時目錄。
經過一番搜尋,終於找到了獲取資料臨時目錄的方法。官方wiki
1234
import sys# 臨時目錄的路徑
print(sys._meipass)
這個臨時目錄,包含了執行所需的所有二進位制檔案,僅在程式執行時存在,當程式關閉就會自動清除。
由於執行時存在,可以直接被訪問,所以請不要把一些安全性要求高的檔案新增進去。
至於--add-data與--add-binary的區別,暫時還不清楚。
Pyinstaller使用教程
安裝 linux or mac pip install pyinstaller or easy install pyinstaller 版本更新 pip install upgrade pyinstaller or easy install upgrade pyinstaller windows w...
PyInstaller使用記錄
對於程式設計師來說用ide寫程式,調程式,但是,如果將自己的寫好的工具給別人使用的時候,總不能也要別人先裝個python環境吧。去年寫了乙個批量傳送郵件的小工具,就是pyinstaller打包成exe檔案給別人使用的,現在因為需要再用,又碰到了一些問題,在此一併記錄。奉上pyinstaller官網傳...
pyinstaller用法總結
最近利用tkinter python pyinstaller實現了小工具的專案,在此記錄下pyinstaller相關引數以及爬過的坑。一 pyinstaller相關引數 f,onefile 打包乙個單個檔案,如果你的 都寫在乙個.py檔案的話,可以用這個,如果是多個.py檔案就別用 d,onedir...