如何使用pyinstaller打包多個(gè)和單個(gè)python文件詳解
一、打包多個(gè)
1、將需要打包的項(xiàng)目為anjuke_sd目錄下的所有python文件,其中excute_main.py為主文件。

2、生成主函數(shù)對應(yīng)的spec文件
命令:在anjuke_sd路徑下使用:pyi-makespec excute_main.py

如下圖已經(jīng)生成excute_main.spec文件。

3、修改spec文件:加入需要打包的所有python文件,同時(shí)確保以下兩項(xiàng)包含該項(xiàng)目的路徑

4、對spec文件進(jìn)行pyinstaller安裝
命令:pyinstaller excute_main.spec

若顯示如下所示則證明打包成功。

此時(shí)項(xiàng)目下多了兩個(gè)目錄,進(jìn)入dist目錄,找到dist路徑下后綴名為exe的文件。這里為dist下目錄excute_main下的excute_main.exe。


打包成功!
二、打包單個(gè)文件
1、還是進(jìn)入你需要打包的文件的路徑,執(zhí)行命令:pyinstaller -F 1.py,如下圖所示。

ps: -F參數(shù)表示覆蓋打包,這樣在打包時(shí),不管我們打包幾次,都是最新的,這個(gè)記住就行,固定命令。
出現(xiàn)問題:

assert mpl_data_dir, “Failed to determine matplotlib’s data directory!”
AssertionError: Failed to determine matplotlib’s data directory!
解決:
找到該文件:
D:\ProgramFile\Python38\Lib\site-packages\PyInstaller\hooks
修改hook-matplotlib.py文件,按照如下代碼進(jìn)行修改,再次打包就可以正常
import matplotlib
mpl_data_dir = matplotlib.get_data_path()
datas = [
(mpl_data_dir, "matplotlib/mpl-data"),
]

2、執(zhí)行完畢之后,會(huì)生成幾個(gè)文件夾,如下圖所示。

點(diǎn)進(jìn)去就看到了exe,點(diǎn)擊運(yùn)行

OK!

3、默認(rèn)打包圖片,如下圖所示。

加上 -i 參數(shù)之后,如下圖所示,會(huì)形成一個(gè)類似風(fēng)力發(fā)電機(jī)的logo圖案。

ps:程序路徑最好全部都是英文,否則肯能會(huì)出現(xiàn)莫名其妙的問題
總結(jié)命令
- Pyinstaller -F setup.py 打包exe
- Pyinstaller -F -w setup.py 不帶控制臺(tái)的打包
- Pyinstaller -F -i xx.ico setup.py 打包指定exe圖標(biāo)打包
平常我們只需要這三個(gè)就好了,足夠滿足所有需求了。
總結(jié)
到此這篇關(guān)于如何使用pyinstaller打包多個(gè)和單個(gè)python文件的文章就介紹到這了,更多相關(guān)pyinstaller打包python文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 用PyInstaller把Python代碼打包成單個(gè)獨(dú)立的exe可執(zhí)行文件
- Python打包方法Pyinstaller的使用
- python-pyinstaller、打包后獲取路徑的實(shí)例
- Python中用pyinstaller打包時(shí)的圖標(biāo)問題及解決方法
- 基于Pyinstaller打包Python程序并壓縮文件大小
- 教你使用pyinstaller打包Python教程
- python使用Pyinstaller如何打包整個(gè)項(xiàng)目
- PyInstaller?完美打包?Python?腳本
- Python?pyinstaller打包exe最新完整圖文教程
- python用PyInstaller打包成windows可執(zhí)行的exe(細(xì)致版)
相關(guān)文章
Pytorch實(shí)現(xiàn)tensor序列化和并行化的示例詳解
這篇文章主要介紹了Pytorch實(shí)現(xiàn)tensor序列化和并行化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的同學(xué)們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
Python+Selenium實(shí)現(xiàn)無頭瀏覽器網(wǎng)頁截圖
這篇文章主要為大家詳細(xì)介紹了Python+Selenium實(shí)現(xiàn)無頭瀏覽器網(wǎng)頁截圖的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
平時(shí)總是要對Excel進(jìn)行操作,整理了一下平時(shí)經(jīng)常會(huì)用到的操作,下面這篇文章主要給大家介紹了關(guān)于如何利用Python讓Excel快速按條件篩選數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Python使用函數(shù)輔助工具簡化開發(fā)提高效率
這篇文章主要為大家介紹了Python使用函數(shù)輔助工具簡化開發(fā)提高效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
python3中http協(xié)議提供文件服務(wù)器功能詳解
http協(xié)議是互聯(lián)網(wǎng)的通用基礎(chǔ)協(xié)議,也可以利用其來開發(fā)文件服務(wù)器,給客戶提供文件瀏覽,查看,下載,上傳等功能,這篇文章主要介紹了python3中http協(xié)議提供文件服務(wù)器功能,需要的朋友可以參考下2023-06-06

