當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的參數使用介紹。
常用參數介紹:
- -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的相同目錄下。
最近開通了微信公眾號,在微信公眾號上,分享了一些資料,搜索"Python機器學習之路"關注我即可獲取,歡迎來找我玩。
閱讀更多 機器學習之路 的文章