安裝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)))