pyinstaller可以將python寫好的指令碼打包成exe檔案,方便windows使用者在沒有python環境下執行。這個程式完全跨平臺,包括Windows、Linux、Mac OS X等多個作業系統下執行。因為我用的是win7,以下直接使用windows打包講解,不同平臺上使用 PyInstaller方法是一樣的,它們支援的選項也是一樣的。
安裝Pyinstaller
Python預設不包含Pyinstaller模組,因此需要自行安裝
與安裝其它Python模組一樣,使用pip命令安裝即可,一條搞定:
pip install pyinstaller
執行上面命令,可以看到如下輸出結果,表示成功:
Successfully installed altgraph-0.17 pefile-2021.5.24 pyinstaller-4.5.1 pyinstaller....
使用Pyinstaller
Pyinstaller 工具使用的命令語法如下:
pyinstaller 選項 python原始檔
實際工作中常用的命令也就幾條:
## -D(預設選項),生成build、dist目錄,該選項生成一個目錄(包含多個檔案)來作為程式
pyinstall -D app.py
## 使用-F選項,在dist目錄下生成單獨的EXE檔案(在Mac生成的檔案沒有exe字尾)
pyinstaller -F app.py
## -w不顯示GUI視窗,-i指定圖示
pyinstaller -F -w -i app.ico app.py
如果想給軟體新增自己喜歡的圖示,這裡推薦以下方式
https://www.iconfont.cn/ ####免費的線上icon圖示網站
http://www.favicon-icon-generator.com/ ###免費線上生成1
http://www.ico51.cn/ ####免費線上生成2
常用引數說明
-h,--help | 檢視該模組的幫助資訊 |
---|---|
-F,-onefile | 產生單個的可執行檔案 |
-D,--onedir | 產生一個目錄(包含多個檔案)作為可執行程式 |
-a,--ascii | 不包含 Unicode 字符集支援 |
-d,--debug | 產生 debug 版本的可執行檔案 |
-w,--windowed,--noconsolc | 指定程式執行時不顯示命令列視窗(僅對 Windows 有效) |
-c,--nowindowed,--console | 指定使用命令列視窗執行程式(僅對 Windows 有效) |
-o DIR,--out=DIR | 指定 spec 檔案的生成目錄。如果沒有指定,則預設使用當前目錄來生成 spec 檔案 |
-p DIR,--path=DIR | 設定 Python 匯入模組的路徑(和設定 PYTHONPATH 環境變數的作用相似)。也可使用路徑分隔符(Windows 使用分號,Linux 使用冒號)來分隔多個路徑 |
-n NAME,--name=NAME | 指定專案(產生的 spec)名字。如果省略該選項,那麼第一個指令碼的主檔名將作為 spec 的名字 |
以上只是Pyinstaller模組所支援的常用選項,如需瞭解更多可通過
pyinstaller -h
來檢視。
實踐一下
這裡簡單寫一個demo,我們來進行打包測試
為了不讓介面執行完立即退出,使用input()讓介面暫時停留
print("鋼鐵俠的知識庫")
input()
使用命令進行打包:
pyinstaller -F test.py
打包成功後會在dist下找到test.exe檔案,執行即可看到
以上即表示打包成功。
---- 鋼鐵 [email protected] 2021.08.07
參考鳴謝
http://c.biancheng.net/view/2690.html
https://blog.csdn.net/xiaomu_347/article/details/108761161
https://medium.com/pyladies-taiwan/python-將python打包成exe檔-32a4bacbe351