網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
打包依賴文件至目標(biāo)程序目錄
問(wèn)題
我使用 PySide2 開發(fā)了一個(gè)應(yīng)用程序,為了方便其他人使用,我便使用 PyInstaller 打包成 *.exe。打包模式為 one-folder,即生成的目標(biāo)文件是一個(gè)文件夾,里面包含了該 *.exe 文件及該 *.exe 所依賴的全部文件。
打開該文件夾,截圖如下:
一切都很順利,但是有這樣一個(gè)問(wèn)題,程序運(yùn)行時(shí)依賴幾個(gè)文件(*.png,*.txt),沒(méi)有給我打包至目標(biāo)目錄下,*.exe 就找不到文件了,也就無(wú)法運(yùn)行。
解決辦法
*使用配置文件 .spec,指定依賴的文件一起打包。
配置文件重點(diǎn)部分內(nèi)容:
a = Analysis(['MainWindow.py'], pathex=['E:\\7-Pycharm\\contrl_sys_ui'], binaries=[], datas=[("./other", "other"), ("./QtDesigner", "QtDesigner")],
datas 這個(gè)選項(xiàng)給 (原文件路徑, 目標(biāo)文件路徑) 元組。原文件路徑是文件/文件夾在電腦上的路徑,打包時(shí),PyInstaller 會(huì)根據(jù)我們指定的原文件路徑去復(fù)制我們指定的原文件到目標(biāo)文件路徑下。
目標(biāo)文件路徑是以打包生成的目標(biāo)程序所在目錄為跟目錄。
例如,我的打包目錄是 ./dist/MainWindow,那么 PyInstaller 就會(huì)在復(fù)制 ./other 和 ./QtDesigner 到 ./dist/MainWindow 目錄下。
在打包的目標(biāo)文件中,就能發(fā)現(xiàn)我們想要一起打包的文件夾也全部打包過(guò)來(lái)了,截圖如下:
pyinstaller打包exe有依賴文件
pyinstaller 配置文件不要設(shè)置在.spec 上,不然更新配置文件不生效,使用os.getcd()獲取exe執(zhí)行路徑即可
原文鏈接:https://blog.csdn.net/lemon4869/article/details/107359364
相關(guān)推薦
- 2022-05-27 python使用pandas進(jìn)行量化回測(cè)_python
- 2022-01-17 uniapp/小程序 swiper組件無(wú)限數(shù)據(jù)滾動(dòng)
- 2023-02-04 詳解C++中存儲(chǔ)類的使用_C 語(yǔ)言
- 2023-01-10 SpringEvent優(yōu)雅解耦時(shí)連續(xù)兩個(gè)bug的解決方案_Golang
- 2022-04-22 git push時(shí)出現(xiàn)403,443
- 2022-10-01 Python類與實(shí)例的使用詳解_python
- 2022-04-23 uni-app項(xiàng)目之商品列表的下拉刷新與上拉加載更多
- 2021-11-25 Linux命令unzip詳解_Linux
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支