1. 程式人生 > >python 打包成exe

python 打包成exe

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/lqzdreamer/article/details/77917493

      在我們完成一個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檔案在同一個目錄下