教你使用pyinstaller打包Python教程
一、單個(gè)文件打包
1.1 簡(jiǎn)單打包
例如現(xiàn)在有一個(gè)main.py文件內(nèi)容如下
import os print("hello world") os.system("pause")
運(yùn)行結(jié)果如圖
現(xiàn)在用一下命令打包成一個(gè)可執(zhí)行文件pyinstaller -F main.py
再同級(jí)目錄下生成一個(gè)dist文件夾里面就會(huì)生成一個(gè)可執(zhí)行文件,雙擊就可以執(zhí)行
1.2 帶圖標(biāo)打包
有的時(shí)候?yàn)榱嗣烙^,可以給可執(zhí)行文件加一個(gè)圖標(biāo),這時(shí)用這個(gè)命令pyinstaller -F main.py-i filename.ico
打包完成后把這個(gè)ico文件復(fù)制到dst和可執(zhí)行文件一起就可以了
二、項(xiàng)目多文件打包
上面只是一些簡(jiǎn)單的demo打包成可執(zhí)行文件的簡(jiǎn)單方式,大多數(shù)時(shí)候需要打包的都是多個(gè)文件的項(xiàng)目,這個(gè)時(shí)候就會(huì)復(fù)雜一些,主要使用一下命令進(jìn)行pyinstaller -D main.py -p other1.py -p other2.py [-w] -i flie.ico
對(duì)部分命令解釋:
命令 | 作用 |
-F | 打包成一個(gè)exe文件,就是不管原文件時(shí)多少個(gè)最終生成只是一個(gè)exe可執(zhí)行文件,這種方式再大型項(xiàng)目中不適用,打開(kāi)程序太慢 |
-D | 以依賴的方式打包,類似于平時(shí)安裝工具的方式,會(huì)有一對(duì)的庫(kù)文件,一般項(xiàng)目建議這種方式 |
-p | 主文件以外其他用到的python文件 |
-w | 運(yùn)行程序的時(shí)候不顯示終端。如果不加的話就是做了UI界面,運(yùn)行的時(shí)候也會(huì)跳出終端,這個(gè)視情況決定 |
-i | 加載圖標(biāo)文件 |
這是部分用到的命令的解釋,還有其他命令可以上官網(wǎng)查看文檔查詢。
例程如下:
有個(gè)項(xiàng)目有4個(gè)Python文件運(yùn)行主程序效果如圖
用此命令打包pyinstaller -D MysherTools.py -p BLC.py -p consistencyCheck.py -p ui.py -w -i .\inco\tool.ico
生成如圖所示的文件
雙擊運(yùn)行exe可執(zhí)行文件效果如圖
一般出現(xiàn)如上的提示,都是用到的靜態(tài)文件沒(méi)有放在指定路徑下,因?yàn)榇虬臅r(shí)候ico文件是放在icon目錄下,所以需要將這個(gè)目錄拷貝到可執(zhí)行文件的路徑下。放到指定位置后運(yùn)行正常如圖
注意:文件用到的靜態(tài)文件一定要保證路徑正常,不然運(yùn)行會(huì)出錯(cuò)。
三、打包后文件太大
一般如果直接這么打包會(huì)導(dǎo)致打包后的文件特別大,這時(shí)候就需要?jiǎng)?chuàng)建一個(gè)虛擬環(huán)境,只安裝項(xiàng)目需要的庫(kù)文件,然后再打包,這樣就會(huì)小很多,因?yàn)閜ython環(huán)境下沒(méi)用到的庫(kù)也被打包進(jìn)去導(dǎo)致體積太大。
到此這篇關(guān)于教你使用pyinstaller打包Python教程的文章就介紹到這了,更多相關(guān)pyinstaller打包Python內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 用PyInstaller把Python代碼打包成單個(gè)獨(dú)立的exe可執(zhí)行文件
- Python打包方法Pyinstaller的使用
- python-pyinstaller、打包后獲取路徑的實(shí)例
- Python中用pyinstaller打包時(shí)的圖標(biāo)問(wèn)題及解決方法
- python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe
- python使用Pyinstaller如何打包整個(gè)項(xiàng)目
- PyInstaller?完美打包?Python?腳本
- Python?pyinstaller打包exe最新完整圖文教程
- Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法
- PyInstaller打包Python腳本的使用示例
相關(guān)文章
Python趣味入門教程之循環(huán)語(yǔ)句while
這篇文章主要給大家介紹了關(guān)于Python趣味入門教程之循環(huán)語(yǔ)句while的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python全局鎖中如何合理運(yùn)用多線程(多進(jìn)程)
這篇文章主要介紹了Python全局鎖中如何合理運(yùn)用多線程(多進(jìn)程),需要的朋友可以參考下2019-11-11python畫(huà)一個(gè)圣誕樹(shù)實(shí)現(xiàn)示例
這篇文章主要為大家介紹了使用python畫(huà)一個(gè)圣誕樹(shù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Python代碼庫(kù)之Tuple如何append添加元素問(wèn)題
這篇文章主要介紹了Python代碼庫(kù)之Tuple如何append添加元素問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Python numpy多維數(shù)組實(shí)現(xiàn)原理詳解
這篇文章主要介紹了python numpy多維數(shù)組實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python如何定義有默認(rèn)參數(shù)的函數(shù)
這篇文章主要介紹了Python如何定義有默認(rèn)參數(shù)的函數(shù),幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下2020-08-08Python中使用moviepy進(jìn)行視頻分割的實(shí)現(xiàn)方法
MoviePy是一個(gè)關(guān)于視頻編輯的python庫(kù),主要包括:剪輯,嵌入拼接,標(biāo)題插入,視頻合成(又名非線性編輯),視頻處理,和自定制效果。本文重點(diǎn)給大家介紹Python中使用moviepy進(jìn)行視頻分割的實(shí)現(xiàn)方法,需要的朋友一起看看吧2021-12-12python調(diào)用百度地圖WEB服務(wù)API獲取地點(diǎn)對(duì)應(yīng)坐標(biāo)值
這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度地圖WEB服務(wù)API獲取地點(diǎn)對(duì)應(yīng)坐標(biāo)值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01python3 使用traceback定位異常實(shí)例
這篇文章主要介紹了python3 使用traceback定位異常實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03