使用pyinstaller將圖片,文件等打包到exe依賴文件的處理方法

在網上查了很久相關的教程都沒有詳細的說明,因而本身去pyinstaller的官網按照教程作了一下,大概理出了點思路,以下:python

 

基本介紹:data.txt是你要打包的文件,TestRe.py是你的程序主入口文件,TestRe.spec就是pyinstaller在本地生成的spec配置文件(cmd命令行將系統路徑切換到此路徑,而後輸入pyinstaller -F -c TestRe.py就能夠生成此spec文件),Utils.py就是實際使用data.txt的文件。spa

spec文件編輯:打開TestRe.spec如圖,將你要打包到exe中的圖片或者文件按照如圖的元組格式放入到datas結構中,元組內的第一個字符串表示此文件相對於TestRe.py的位置,同目錄的話就「data.txt」便可,若是data.txt是在venv文件夾內,那麼這個字符串就是「venv\data.txt"(斜槓應該不分方向,本身試一下),第二個字符串就是程序實際運行時你要找這個文件的位置,程序在運行時會在系統內部生成一個臨時目錄,圖中的"."表示就在此臨時目錄下找這個文件,若是要在臨時目錄下的venv文件夾內找,則第二個字符串就是"venv"便可。命令行

 程序中獲取運行時路徑:blog

 

紅框方法獲取到的時此python文件的目錄(打包前是此文件目錄,打包後就是程序運行時的臨時目錄),好比這個python文件是Utils.py,應爲Utils.py和TestRe.py即主入口同一目錄,那麼獲得的目錄就是程序運行臨時目錄,那麼根據你spec的datas配置,拼接路徑便可;若是此python文件是venv目錄下的,那麼此方法獲得的path就是臨時目錄/venv,具體再拼接路徑。教程

相關文章
相關標籤/搜索