Auto-Py-to-Exe完美打包python程式
工具簡介
Auto PY to EXE
是一個基於Eel 和PyInstaller構建的、透過簡單的UI介面將python專案中的
。py
檔案(可以是單個py檔案或多個py檔案)打包為
。exe
檔案的簡單工具,與PyInstaller相比,Auto PY to EXE更簡單直觀,可以自動生成執行轉換程式碼,進而將python程式打包為exe檔案。
模組安裝
環境要求:
Python環境:python>=2。7
瀏覽器:用於顯示操作介面,Chrome或者預設瀏覽器
模組安裝:
pip
install
auto-py-to-exe
或透過GitHub安裝:
git
clone
https
:
//
github
。
com
/
brentvollebregt
/
auto-py-to-exe
。
git
cd
auto-py-to-exe
python
setup
。
py
install
使用方法
透過如下命令列,啟動Auto PY to EXE:
auto-py-to-exe
Auto Py to Exe介面
新增要打包的py指令碼路徑(Script Location)。
選擇輸出檔案型別(Onefile):一個檔案目錄或者一個exe檔案。一個目錄,即將所有程式依賴的檔案放到一個資料夾下,也可以在高階(Advanced)選項中選擇輸出目錄;而一個檔案是建立一個exe檔案,如果python程式中沒有圖片、音訊等檔案時可以選擇此項,其實有圖片、音訊等檔案也可以選擇生成一個exe檔案。
控制檯視窗(Console Window):設定生成的exe程式是否顯示控制檯,一般選擇隱藏控制檯介面,即Window Based (hide the console)。
新增程式圖示(Icon):指定生成的exe程式的圖示路徑;
選擇附加檔案(Additional Files):附加檔案選項可以新增工程所需的附屬檔案。但是Auto PY to EXE是使用pyinstaller將資料解壓縮到一個臨時資料夾中,並將此目錄路徑儲存到
_MEIPASS
環境變數中,檔案路徑的改變導致我們專案中找不到所需的檔案。如果選擇生成一個exe檔案,在附加檔案選項中選擇的檔案不能被新增到exe檔案中。解決方法如下:
定義資源路徑函式:
def
resource_path
(
relative_path
):
“”“獲取程式中所需檔案資源的絕對路徑”“”
try
:
# PyInstaller建立臨時資料夾,將路徑儲存於_MEIPASS
base_path
=
sys
。
_MEIPASS
except
Exception
:
base_path
=
os
。
path
。
abspath
(
“。”
)
return
os
。
path
。
join
(
base_path
,
relative_path
)
更改程式碼中的媒體檔案路徑(示例):
# 原來檔案路徑程式碼
self
。
setWindowIcon
(
QIcon
(
‘images/window。svg’
))
splash
。
setPixmap
(
QPixmap
(
‘images/fish。jpg’
))
。。。
# 將上述程式碼更改為
self
。
setWindowIcon
(
QIcon
(
resource_path
(
‘images/window。svg’
)))
splash
。
setPixmap
(
QPixmap
(
resource_path
(
‘images/fish。jpg’
)))
。。。
如此,程式碼中的圖片等其他檔案可以被正確打包至exe檔案中。
上述配置完成後,Auto PY to EXE的命令窗(Current Command)會顯示當前配置的程式碼。
最後點選CONVERT 。PY TO 。EXE按鈕執行就可以了。
轉換示例
以la vie大佬的《快速掌握PyQt5》的第23章為例,其中chapter2101。py是要打包的程式,資料夾images是程式中所需的圖片,window。ico為生成exe檔案的桌面圖示。
轉換所需的檔案
Auto PY to EXE的基本配置為:
Auto PY to EXE的基本配置
執行結果為:
Auto PY to EXE執行過程
轉換完成後,Auto PY to EXE將打包的exe檔案預設輸出到路徑
C:\Users\
下,即
轉換後的exe檔案
轉換後exe檔案所開啟後介面如下:
要點總結
Auto PY to EXE的安裝和基本配置;
更改Python程式碼中所需資原始檔的路徑。