1. 程式人生 > 實用技巧 >將Python程式打包為exe

將Python程式打包為exe

當Python專案編碼完成之後,有時候我們需要讓其在沒有Python環境的電腦上執行,此時我們就需要將Python專案進行打包了。

本篇文章主要是基於Python的第三方庫pyinstaller進行的。使用pyinstaller打包Python專案,相對於C和C#專案的打包要簡單很多。

專案地址

pyinstaller git

pyinstaller安裝

pip install pyinstaller

環境要求

python版本:2.7或3.4-3.7,當需要使用位元組碼加密時需要PyCrypto 2.4+

系統要求:Windows、Linux、macOS都支援,具體使用說明請看官網介紹。本次實踐主要在win10上進行。

引數介紹

官網引數詳細介紹,在使用pyinstaller打包Python專案的時候,需要指定一些引數,詳細介紹請參加官網。也可以通過pyinstaller -h命令檢視pyinstaller的引數使用介紹。

pyinstaller的引數使用介紹

常用引數介紹:

  • -D,–onedir:建立一個資料夾包含exe檔案(預設)
  • -F,–onefile:打包之後只會生成一個exe的檔案
  • -c,–console,–nowindowed:使用控制檯視窗(預設)
  • -w,–windowed,–noconsole:使用視窗顯示
  • -i:設定打包exe的圖示,預設使用的是Python的圖示

單個py檔案打包

import cv2
img = cv2.imread("logo.jpg")
cv2.imshow("logo",img)
cv2.waitKey()

這個程式展示了使用OpenCV來讀取圖片然後顯示,編輯完成之後進入到該目錄下,執行pyinstaller -F exmple.py,看到如下資訊表示打包成功:

在專案目錄下發現多了dist和build兩個目錄和一個*.spec的檔案。

開啟dist目錄,可以發現下面多了一個example.exe的可執行檔案,雙擊執行發現並沒有顯示圖片,此時我們需要將logo.jpg拷貝到當前目錄下,然後再執行exe程式就可以看到如下結果

如果不想顯示控制檯打包的時候可以加上-w引數,pyinstaller -F -w example.py,此時打包生成的exe程式執行時不會出現控制檯視窗。

修改exe的圖示

預設使用的圖示如下

ico下載網址:https://www.easyicon.net/

pyinstaller -F -w -i=panda.ico example.py

通過-i引數可以指定ico的圖示,如果生成的exe的圖示沒有變化試著將ico圖示檔案拷貝到exe的相同目錄下。


pyInstaller 一般安裝在python安裝路徑/Script下面
pyinstaller -F xxx.py 打包exe命令,但是會有黑視窗
pyinstaller -F -w xxx.py去除黑視窗