PyInstaller常用打包命令舉例詳解
學習了pyqt后,設(shè)計了界面,并且需要打包為exe程序。
每次打包時,都要查好久資料,故此記錄一下常用的命令。
PyInstaller 是一個 Python 應(yīng)用程序打包工具,它可以將 Python 程序打包為單個獨立可執(zhí)行文件。
要使用 PyInstaller 打包 Python 程序,需要在命令行中使用 pyinstaller 命令。命令的基本語法如下:
pyinstaller [options] script[.py]
其中,script 是要打包的 Python 腳本文件的文件名,可以帶 .py 后綴。options 是可選的命令行選項,可以用來指定打包的方式、輸出文件的位置等。
下面是一些常用的命令行選項:
- -F:將所有文件打包為一個單獨的可執(zhí)行文件。
- -D:將所有文件打包為一個目錄,包含可執(zhí)行文件和所有依賴的文件。
- -c:將程序與命令提示符結(jié)合在一起,以便在命令提示符下運行。
- -d:將調(diào)試信息打包進可執(zhí)行文件中。
- –onefile:將所有文件打包為一個單獨的可執(zhí)行文件。
- -o:指定輸出文件的位置。
- -w:打包為窗口文件。
- -p DIR, –path=DIR:設(shè)置導(dǎo)入路徑,從而導(dǎo)入需要的模塊

舉個例子,如果要使用 PyInstaller 打包名為 script.py 的 Python 腳本文件,并將所有文件打包為一個單獨的可執(zhí)行文件,可以使用以下命令:
pyinstaller -F script.py
可以使用以下命令來指定可執(zhí)行文件的名稱:
pyinstaller script.py -n my_script
為程序加了個圖標:
Pyinstaller -F -i 風險圖標.ico fengxianjiansuan.py
打包pyqt設(shè)計的界面:
pyinstaller --paths D:\anaconda3\Lib\site-packages\PyQt5\Qt\bin -F -w -i 風險圖標.ico 風險計算加資金管理_邏輯.py
–paths D:\anaconda3\Lib\site-packages\PyQt5\Qt\bin 此行命令不可缺少!
注意:打包時,需要進入到存在py文件的目錄,然后進入cmd界面進行打包。
pyinstaller --paths D:\anaconda3\Lib\site-packages\PyQt5\Qt\bin -F -w -i 風險分析圖標.ico 風險計算界面簡易版邏輯.py
打包好后,測試了一下,運行良好!

附:pyinstaller打包后運行報錯
當使用PyInstaller打包Python程序后運行時遇到問題,可能的原因和解決方法包括:
- 磁盤空間不足。檢查磁盤空間,尤其是系統(tǒng)盤,確保有足夠的空間來運行程序。1
- 缺少模塊。檢查環(huán)境是否已安裝所需包。如果沒有,使用`pip install`命令安裝。對于特定模塊,如`mmcv`,需要在打包命令中添加`--hidden-import`參數(shù)。
- 文件路徑問題。確保打包文件的路徑中沒有中文或空格。23
- 權(quán)限問題。檢查文件是否被其他程序占用,或者是否被殺毒軟件阻止??赡苄枰怨芾韱T身份運行命令,或者關(guān)閉殺毒軟件后再嘗試打包。4
- 第三方庫版本不匹配。確保Pyinstaller版本與Python和第三方庫版本匹配。如果不匹配,嘗試卸載并重新安裝合適的版本。2
- 缺少依賴包。在PyCharm中,通過設(shè)置查看項目中使用的第三方庫,并將這些庫復(fù)制到打包時指定的路徑中。5
- 隱藏導(dǎo)入問題。在打包命令中添加`--hidden-import`參數(shù),指定需要隱藏導(dǎo)入的模塊。16
- 系統(tǒng)文件缺失。檢查系統(tǒng)文件,如`win32ctypes.pywintypes.error`,可能是由于系統(tǒng)文件缺失或損壞。6
如果上述方法都無法解決問題,可能需要考慮更換打包工具或檢查系統(tǒng)環(huán)境。
總結(jié)
到此這篇關(guān)于PyInstaller常用打包命令的文章就介紹到這了,更多相關(guān)PyInstaller常用打包命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python用socket實現(xiàn)協(xié)議TCP長連接框架
大家好,本篇文章主要講的是python用socket實現(xiàn)協(xié)議TCP長連接框架,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02
Python靜態(tài)類型檢查新工具之pyright 使用指南
這篇文章主要介紹了Python靜態(tài)類型檢查新工具之pyright 使用指南,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04
python神經(jīng)網(wǎng)絡(luò)學習利用PyTorch進行回歸運算
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學習利用PyTorch進行回歸運算的實現(xiàn)代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
python簡單幾步獲取各種DOS命令顯示的內(nèi)容詳解流程
你會用python獲取各種DOS命令顯示的內(nèi)容核心嗎?說的可不是返回值,是用system()函數(shù)調(diào)用windows操作系統(tǒng)的DOS命令來做點事情,需要的朋友可以參考下2021-10-10
用Python寫飛機大戰(zhàn)游戲之pygame入門(4):獲取鼠標的位置及運動
這篇文章主要介紹了用Python寫飛機大戰(zhàn)游戲之pygame入門(4):獲取鼠標的位置及運動,需要的朋友可以參考下2015-11-11
Python3.7 版本 lxml 模塊無法導(dǎo)入etree 問題及解決方法
這篇文章主要介紹了Python3.7 版本 lxml 模塊無法導(dǎo)入etree 問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01

