Python --- pyinstaller --- 打包成exe並更換圖示
安裝pyinstaller
首先要安裝第三方庫pyinstaller,開啟dos視窗輸入安裝命令如下。
pip install pyinstaller
執行打包命令
輸入命令,pyinstaller -F 絕對路徑。(-F表示覆蓋打包,如果多次進行修改並打包,執行這個命令就是最新的)
pyinstaller -F X:\project\myProject\TransferToDecimal.py
執行完命令之後會生成幾個資料夾,pycache,dist和build。
可能出現的問題
但是我就遇到了這樣的問題,在執行完打包命令之後在py檔案所在目錄中只生成了一個_pycache_資料夾,並沒有所謂的dist和build資料夾,於是我用各種方法解決,解除安裝重新安裝pyinstaller,重新執行打包命令之後還是同樣的問題。
仔細看了命令執行過程中的內容,發現了一個路徑,順著這個路徑找到了這個資料夾(C:\Users\Qxy),發現不是沒有生成dist和build,而是生成在其它資料夾中了。
執行exe程式
build和_pycache_中的檔案先不用管,關鍵是dist中可執行的exe程式。(圖是改了圖示之後擷取的,更換圖示的方法在下一小節...)
雙擊就可以直接執行,這樣在沒有python的環境下,也依然可以運行了。
更換exe程式圖示
如果不喜歡預設的圖示,想要換成自己喜歡的,那麼需要準備字尾為.ico的圖片。在網頁上就可以線上轉圖片格式,很方便。
執行命令:pyinstaller -F -i 圖片名.ico 檔名.py。(-i表示更換圖示)
pyinstaller -F -i X:\yus.ico X:\project\myProject\TransferToDecimal.py
去掉dos視窗
因為我打包的是一個圖形介面,發現每次執行程式的時候,都會顯示dos視窗,想取消掉,就執行-w命令。再重新打包後,就會只顯示圖形介面,沒有dos視窗了。
pyinstaller -F -w X:\yus.ico X:\project\myProject\TransferToDecimal.py
pyinstaller引數
附上pyinstaller常用的引數列表。
引數 | 含義 |
---|---|
-F | 打包單個檔案,生成結果是一個exe檔案,如果程式碼都寫在一個.py檔案時使用,專案有多個檔案時不要使用 |
-i | 指定程式的圖示 |
-w | 不顯示dos視窗(命令列) |
-c | 顯示dos視窗(命令列) |
-h | 顯示幫助 |
-v | 顯示版本號 |
--key=密碼 | 加密打包 |
ps:雖然只是一個非常小(2kb)的程式,打包完之後居然也有10m。
pyinstall打包後出現路徑問題,獲取excel檔案路徑錯誤,解決方法:
#獲取當前路徑
w1 = os.path.dirname(os.path.realpath(sys.executable))
#獲取上一級路徑
w2 = os.path.dirname(os.path.dirname(os.path.realpath(system.executable)))