当前位置: 首页 > wzjs >正文

江苏网站seo营销模板百度推广如何获取精准的客户

江苏网站seo营销模板,百度推广如何获取精准的客户,福田做网站的,通辽做网站💥打包的 .exe 闪退了?别慌!教你逐步排查 PyInstaller 打包的所有错误! 🛠 运行 .exe 查看报错信息✅ 正确姿势: ⚠ importlib 动态导入导致打包失败❓什么是动态导入?✅ 解决方式: …

💥打包的 `.exe` 闪退了?别慌!教你逐步排查 PyInstaller 打包的所有错误!

    • 🛠 运行 `.exe` 查看报错信息
      • ✅ 正确姿势:
    • ⚠ importlib 动态导入导致打包失败
      • ❓什么是动态导入?
      • ✅ 解决方式:
    • 📦 包元数据丢失问题:`importlib.metadata.PackageNotFoundError`
      • 🎯 根本原因:
      • ✅ 解决方法一:打包命令添加参数
      • ✅ 解决方法二:使用 `.spec` 文件方式
    • ❌ DLL 加载失败:WinError 127
      • ✅ 修复步骤:
        • ✅ 第一步:找到 torch 的 lib 路径
        • ✅ 第二步:修改 `.spec` 文件
    • 🔧 终极解决方案:用 `PyInstaller.__main__` 写一个自定义 `package.py`
      • ✅ 优点:
    • 🔚 总结
    • 🧠 附:打包常见库建议参数

前面的只是学习,虽然问题解决了,但是一个个问题又冒出来了,可以直接看最后一部分,我换了一个方法。

🛠 运行 .exe 查看报错信息

很多人在直接双击 .exe 文件时,会发现它“一闪而过”就没了。这是因为程序崩溃了,报错信息来不及显示。

✅ 正确姿势:

  1. 打开终端(CMD 或 PowerShell)
  2. 切换到 .exe 文件所在目录
  3. 运行:
cd dist\your_program
.\your_program.exe

如图所示:

运行exe看报错


⚠ importlib 动态导入导致打包失败

❓什么是动态导入?

很多库使用 importlib.import_module("模块名") 来动态加载模块,而不是传统的 import 模块名

PyInstaller 只能分析静态导入,遇到动态导入时,它就不知该打包啥了,运行就会提示模块缺失或功能失效。

✅ 解决方式:

spec 文件的 datas 中手动添加:

datas = [(r"G:\anaconda\envs\pcb\Lib\site-packages\ultralytics", "ultralytics"),
]

重新打包即可。


📦 包元数据丢失问题:importlib.metadata.PackageNotFoundError

报错信息:

importlib.metadata.PackageNotFoundError: No package metadata was found for torchvision

🎯 根本原因:

PyInstaller 默认不会打包 metadata,而有些库(如 ultralytics)使用:

importlib.metadata.version("torchvision")

来获取依赖库的版本,因此需要明确告诉它:把 metadata 一起带上!

✅ 解决方法一:打包命令添加参数

pyinstaller --onefile ^--collect-all ultralytics ^--copy-metadata=torch ^--copy-metadata=torchvision ^--copy-metadata=ultralytics ^main_window.py

✅ 解决方法二:使用 .spec 文件方式

.spec 中添加:

from PyInstaller.utils.hooks import copy_metadatadatas += copy_metadata('torch')
datas += copy_metadata('torchvision')
datas += copy_metadata('ultralytics')

❌ DLL 加载失败:WinError 127

错误提示:

OSError: [WinError 127] 找不到指定模块
Error loading "torch\lib\caffe2_detectron_ops.dll"

说明 PyInstaller 没把某些 .dll 一起打包!

✅ 修复步骤:

✅ 第一步:找到 torch 的 lib 路径

运行:

python -c "import torch; print(torch.__path__)"

假设路径为:

G:\anaconda\envs\pcb\Lib\site-packages\torch
✅ 第二步:修改 .spec 文件
import glob
import ostorch_dlls = [(f, os.path.join('torch', 'lib')) for f in glob.glob(r'G:\anaconda\envs\pcb\Lib\site-packages\torch\lib\*.dll')
]a = Analysis(['main_window.py'],...binaries=torch_dlls,datas=[(r"G:\anaconda\envs\pcb\Lib\site-packages\ultralytics", "ultralytics"),(r"G:\anaconda\envs\pcb\Lib\site-packages\torch", "torch"),(r"G:\anaconda\envs\pcb\Lib\site-packages\torchvision", "torchvision"),],...
)

🔧 终极解决方案:用 PyInstaller.__main__ 写一个自定义 package.py

上面的方法,始终有问题。耽误了我一天的时间,最终终于找到了解决的方案。换了一种方法。
import PyInstaller.main
你可以自己写一个 package.py 脚本统一管理打包逻辑:

import PyInstaller.__main__PyInstaller.__main__.run(['--onefile','--nowindowed','-n', 'defect_detect','-i', 'ui/ui_imgs/icons/目标检测.ico','--add-data=ui/ui_imgs/icons;ui/ui_imgs/icons','--add-data=view/style.css;view','--copy-metadata=torch','--copy-metadata=torchvision','--copy-metadata=ultralytics','--collect-all', 'ultralytics','main_window.py',
])

✅ 优点:

  • 不再需要手动修改 .spec
  • 自动包含 metadata
  • 可重复运行,一键打包!

🔚 总结

错误类型解决方案
exe 闪退命令行运行查看报错
动态导入库找不到datas手动添加路径
metadata 丢失添加 --copy-metadata 参数
DLL 加载失败torch/lib/*.dll 添加进 binaries
打包太麻烦用 PyInstaller API 脚本自动化

🧠 附:打包常见库建议参数

库名称打包建议
ultralytics--collect-all ultralytics
torch--copy-metadata=torch + 添加 dll
torchvision--copy-metadata=torchvision
numpy一般自动打包
matplotlib建议 --collect-submodules

如果你觉得本篇文章对你有帮助,欢迎点赞、收藏、转发!🚀
更多 PyInstaller 技术细节、实战案例持续更新中~
有任何问题也欢迎评论区留言交流!

http://www.dtcms.com/wzjs/132727.html

相关文章:

  • 福州网站建设效果百度爱采购优化软件
  • 做动物网站的素材seo优化推广多少钱
  • wordpress显示当前文章的子分类济南做seo外包
  • qq小程序怎么关闭网页seo
  • wordpress中没有链接网站推广优化方案
  • 房地产手机端网站建设搜索引擎网络排名
  • 做外贸的怎么建立自己的网站seo网络优化专员
  • 网站帮企业做推广价格怎么算地推接单正规平台
  • 在中国做采购在哪个网站找产品怎么做好公司官网推广
  • 山西网站建设多少钱百度爱采购竞价推广
  • 济南市网站建设企业营销策略ppt
  • html5和php做网站目前病毒的最新情况
  • 海外直购网站建设方案书范文如何在google上免费推广
  • 广州建网站的网络公司网络舆情监测专业
  • 常宁城乡建设局网站查询北京最新疫情情况
  • 重庆网上商城网站建设seo是什么
  • 1688网站建设关键词排名优化易下拉技术
  • 河南郑州网站关键词排名系统企业查询天眼查
  • 怎么做私服发布网站国内高清视频素材网站推荐
  • 网站上哪个做相片书好网店如何引流与推广
  • 珠海网站建设小程序今天的新闻头条
  • wordpress 菜单的主题seo推广网址
  • 仙桃做网站信息流优化
  • 前端开发语言有哪几种关键词自动优化
  • 网站建设三秒原则开发做一个网站需要多少钱
  • 科技服务公司网站模版佛山seo按效果付费
  • 网站租服务器关键词优化的五个步骤
  • 南通专业家纺网站建设企业管理培训课程报名
  • 秀米网站怎么做推文今日头条新闻最新疫情
  • 诸暨网站建设百度浏览官网