exe打包工具_pyqt5快速上手基础篇12-使用Pyinstaller打包应用程序
前言
本節我們學習如何使用Pyinstaller打包pyqt5應用程序,pyqt5的打包要比之前文章中講述的tkinter的打包稍微復雜點,主要區別在于pyqt5打包需要導入Qt相關庫,筆者開始打包時候遇到錯誤,網上眾說紛紜,有說把python3版本調到python3.5.2的,也會有說pyinstaller3.6安裝包版本有問題,需要用源碼安裝......
一、基礎知識
1.pyinstaller簡介
PyInstaller的主要目標是開箱即用地與第三方軟件包兼容。這意味著,使用PyInstaller,使外部軟件包正常工作所需的所有技巧已經集成在PyInstaller本身中,因此不需要用戶干預。
和其他打包工具相比,PyInstaller的主要優勢在于PyInstaller可與Python 2.7和3.5-3.7一起使用,由于透明壓縮,它可以構建較小的可執行文件,它是完全多平臺的,并且使用OS支持來加載動態庫,從而確保完全兼容。
1.pyinstaller安裝
安裝命令:
pip3 installer pyinstaller查看python3版本號,輸入:
python3?--version可以看到,本文我們使用的python3版本是3.7.6,為了避免發生異常,建議大家和我保持一致,或者盡量使用3.5.0 3.5.2版本。
二、實例
1. 打開第一節1-setup代碼
打開第一節代碼,然后輸入python3 run.py,運行程序
本節我們要做的就是使用pyinstaller打包python文件為exe可執行程序。
2. 變量 frozen 注入到 sys
import sys, osif hasattr(sys, 'frozen'): os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']這段代碼和cx_freeze庫相關,在 windows 下,cx_freeze庫用于將程序打包成 exe,會將一個變量 frozen 注入到 sys 中。
將其添加到入口文件的最上方即可
3. 打包成一個帶調試窗口的exe
輸入打包命令:
pyinstaller -F run.py可以看到在dist目錄下生成了run.exe可執行程序雙擊執行,可以看到會有一個黑色的背景框,這個類似windows下CMD窗口,可以顯示print等打印出來的調試信息
4. 打包成一個不帶調試窗口的exe
輸入打包命令:
pyinstaller -F -w run.py同樣會在dist目錄下生成run.exe文件,雙擊執行
5. 打包成帶圖標的exe
可以看到上述兩種情況打包,程序圖標都是系統默認的圖標,這次我們為run.exe加個自己的皮膚,需要創建一個icons文件夾,放進去自定義.ico圖像,我這里是icon.ico
輸入打包命令:
pyinstaller -F -w run.py -i D:/study/python/pyqt/pyqt5/demos/1-setup/icons/icon.ico可以看到dist下的run.exe仍然是默認皮膚,這個是系統的問題,將run.exe拖到桌面,可以看到皮膚已經更新成功了。
三、結語
(1) 調試
如果打包后程序提示仍然是無法運行,可以嘗試在CMD命令窗口下直接運行程序,如果運行失敗,控制臺會打印提示信息,我之前遇到過用法錯誤導致運行不起來的問題,通過這種方式可以查看到具體的錯誤提示,修改后重新打包即可。
作者:小驛
寄語:如果決定要出發,就不要把時間浪費在猶豫上!
總結
以上是生活随笔為你收集整理的exe打包工具_pyqt5快速上手基础篇12-使用Pyinstaller打包应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows nginx站点分割日志_
- 下一篇: vs2017运行显示系统找不到指定的文件