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

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

附:pyinstaller打包后運(yùn)行報(bào)錯(cuò)
當(dāng)使用PyInstaller打包Python程序后運(yùn)行時(shí)遇到問(wèn)題,可能的原因和解決方法包括:
- 磁盤(pán)空間不足。檢查磁盤(pán)空間,尤其是系統(tǒng)盤(pán),確保有足夠的空間來(lái)運(yùn)行程序。1
- 缺少模塊。檢查環(huán)境是否已安裝所需包。如果沒(méi)有,使用`pip install`命令安裝。對(duì)于特定模塊,如`mmcv`,需要在打包命令中添加`--hidden-import`參數(shù)。
- 文件路徑問(wèn)題。確保打包文件的路徑中沒(méi)有中文或空格。23
- 權(quán)限問(wèn)題。檢查文件是否被其他程序占用,或者是否被殺毒軟件阻止。可能需要以管理員身份運(yùn)行命令,或者關(guān)閉殺毒軟件后再?lài)L試打包。4
- 第三方庫(kù)版本不匹配。確保Pyinstaller版本與Python和第三方庫(kù)版本匹配。如果不匹配,嘗試卸載并重新安裝合適的版本。2
- 缺少依賴(lài)包。在PyCharm中,通過(guò)設(shè)置查看項(xiàng)目中使用的第三方庫(kù),并將這些庫(kù)復(fù)制到打包時(shí)指定的路徑中。5
- 隱藏導(dǎo)入問(wèn)題。在打包命令中添加`--hidden-import`參數(shù),指定需要隱藏導(dǎo)入的模塊。16
- 系統(tǒng)文件缺失。檢查系統(tǒng)文件,如`win32ctypes.pywintypes.error`,可能是由于系統(tǒng)文件缺失或損壞。6
如果上述方法都無(wú)法解決問(wèn)題,可能需要考慮更換打包工具或檢查系統(tǒng)環(huán)境。
總結(jié)
到此這篇關(guān)于PyInstaller常用打包命令的文章就介紹到這了,更多相關(guān)PyInstaller常用打包命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python語(yǔ)言開(kāi)發(fā)垃圾回收機(jī)制原理教程
這篇文章主要為大家介紹了python語(yǔ)言開(kāi)發(fā)垃圾回收機(jī)制原理的教程有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Python內(nèi)置函數(shù)之raise函數(shù)詳解與實(shí)戰(zhàn)案例
在 Python 中,raise?語(yǔ)句用于主動(dòng)拋出異常,是錯(cuò)誤處理機(jī)制的核心組成部分,以下是關(guān)于raise的詳細(xì)解析和實(shí)戰(zhàn)案例,感興趣的朋友一起看看吧2025-07-07
pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)
這篇文章主要介紹了pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
python實(shí)現(xiàn)超市管理系統(tǒng)(后臺(tái)管理)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)超市管理系統(tǒng),增加后臺(tái)管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
python中的decimal類(lèi)型轉(zhuǎn)換實(shí)例詳解
decimal 模塊實(shí)現(xiàn)了定點(diǎn)和浮點(diǎn)算術(shù)運(yùn)算符,使用的是大多數(shù)人所熟悉的模型,而不是程序員熟悉的模型,即大多數(shù)計(jì)算機(jī)硬件實(shí)現(xiàn)的 IEEE 浮點(diǎn)數(shù)運(yùn)算。這篇文章主要介紹了python里的decimal類(lèi)型轉(zhuǎn)換,需要的朋友可以參考下2019-06-06
selenium2.0中常用的python函數(shù)匯總
這篇文章主要介紹了selenium2.0中常用的python函數(shù),總結(jié)分析了selenium2.0中常用的python函數(shù)的功能、原理與基本用法,需要的朋友可以參考下2019-08-08
將PyTorch?Tensor轉(zhuǎn)換為Python列表的三種方法
本文介紹了三種將PyTorch Tensor轉(zhuǎn)換為Python列表的方法,推薦使用.tolist()方法,適用于任何維度的Tensor,自動(dòng)處理CPU/GPU轉(zhuǎn)換且性能更優(yōu),同時(shí)提到了注意事項(xiàng),.list()僅適用于一維Tensor,轉(zhuǎn)換后的列表元素保持原有的數(shù)據(jù)類(lèi)型2026-04-04

