在日常中我們寫好的pyhton指令碼每次執行時都需要安裝軟體,但是這樣造成了一個不好的現象就是,你寫好指令碼後需要供別人使用的時候,別人沒下載軟體則無法執行指令碼,很麻煩很難受。
所以我們只需要將Python程式打包為exe檔案以後,傳送給任何人都可以使用,我們打包成exe需要使用到的工具是pyinstaller模組。
首先我們先安裝pyinstaller
Python 預設並不包含 PyInstaller 模組,因此需要自行安裝 PyInstaller 模組。安裝 PyInstaller 模組與安裝其他 Python 模組一樣,使用 pip 命令安裝即可。在命令列輸入如下命令:pip install pyinstaller
安裝如圖:
PyInstaller生成可執行程式
pyinstaller 選項 Python 原始檔:pyinstaller -F py檔案路徑
也可以先在cmd中 cd 進入到檔案路徑中,然後輸入:yinstaller -F 檔名
不管這個 Python 應用是單檔案的應用,還是多檔案的應用,只要在使用pyinstaller 命令時編譯作為程式入口的 Python 程式即可。
例子:
我們簡單建立一個檔案:price.py
import timedef main(): for i in range(3): print("開始列印第%s次" % i) time.sleep(2) # 沉睡兩秒後繼續執行if __name__ == '__main__': main() print("執行完畢")
接下來使用命令列工具進入到此 app 目錄下,執行如下命令:
我們先在cmd進入到檔案地址然後執行下面:
pyinstaller -F price.py
執行上面命令,將看到詳細的生成過程。當生成完成後,將會在此 app 目錄下看到多了一個 dist 目錄,並在該目錄下看到有一個 app.exe 檔案,這就是使用PyInstaller 工具生成的 EXE 程式。
在 pyinstaller 選項 Python 原始檔 中,選項處時有很多引數的:
例如(其中部分):
-F,-onefile產生單個的可執行檔案
-D,--onedir產生一個目錄(包含多個檔案)作為可執行程式
-a,--ascii不包含 Unicode 字符集支援
-d,--debug產生 debug 版本的可執行檔案
但是這樣打包以後的exe是原生圖示,對於愛美人士來說是一件很難受的事情,不過我們可以是使用 -i 加上需要顯示的圖片,這樣就能更改打包後exe檔案的圖片了。
pyinstaller -F price.py -i a.ico
所需設定的圖片名格式得為ico字尾的才行