在我們完成一個Python項目或一個程式時,希望將Python的py檔案打包成在Windows系統下直接可以啟動並執行exe程式。在瀏覽網上的資料來看,有利用pyinstaller和cx_Freeze進行打包的方法。關於cx_Freeze打包的方法,可以參考wangdamozhizhou部落格windows下cx_Freeze產生Python可執行程式中的方法。由於方法主要是可以用於Python3.3版本的,高於該版本的Python無法使用。在我嘗試的過程中,碰到的一個問題是:
安裝cx_Freeze-4.3.3,找不到cxFreeze.bat
解決的方法是,在cmd命令列操作下,切換至放置cx_Freeze-4.3.3檔案的Python安裝目錄下scripts目錄下,使用以下代碼自動產生:
python cxfreeze-postinstall
由於我安裝的Python版本是3.6.2版本的,版本相對較新,cx_Freeze還沒有更新版本至3.6版本。在我嘗試很多次數失敗後,決定採用pyinstaller來進行檔案打包的方法。
下載pyinstaller 採用命令列操作的辦法 在cmd命令列中,輸入代碼:
pip install pyinstaller
或者採用更新、升級的方法:
pip install --upgrade pyinstaller
採用下載檔案+cmd操作的辦法 首先,前往PyInstaller網站下載:http://www.pyinstaller.org/downloads.html
下載時,要注意你安裝的Python是多少版本的,有穩定版和不穩定版的,Python3.6隻有不穩定版本的。其中綠色方框的是適用於linux作業系統下的,紅色方框是適用於Windows系統下的。
進行解壓縮、放置和安裝 下載後,將壓縮檔解壓縮在Python安裝目錄下,進入該檔案:
該目錄中含有setup.py,同時在cmd中進入該目錄:
輸入命令:
python setup.py install
並按下斷行符號鍵,會看到代碼迅速執行,會進行安裝pyinstaller,顯示如下狀態,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安裝成功:
使用pyinstaller打包py檔案成exe程式
打包檔案成exe程式 將cmd的目錄切換至(命令:cd 檔案路徑(注意空格))需要打包的py檔案目錄下:
並輸入代碼,格式為使用命令:pyinstaller -F 檔案名稱(帶尾碼py):
pyinstaller -F test.py
常用參數 說明:
–icon=表徵圖路徑
-F 打包成一個exe檔案
-w 使用視窗,不控制台
-c 使用控制台,無視窗
-D 建立一個目錄,裡麵包含exe以及其他一些依賴性檔案
pyinstaller -h 來查看參數
斷行符號後,代碼迅速操作,直到操作結束。
返回目標檔案目錄,發現該目錄下產生了.spec檔案test.spec:
打包好的exe檔案,在同目錄的dist檔案中:
由此,py檔案打包好為exe檔案。
pyinstaller 改變產生exe程式的表徵圖
pyinstaller -F --icon=my.ico test.py
my.ico 是一個表徵圖名,和當前的test.py檔案在同一個目錄下