labelImg打包成exe【心酸踩坑史】 亲测可用!!!

前言

之所以会写这篇文章,存粹是因为用 pyinstaller 打包 labelImg 的过程中,踩了很多坑,说多都是泪。
原本以为是很简单的事,结果网上各种查资料,尝试了很多种方法,前后折腾几天,最后才搞定了。
期间还以为是 pyqt 的问题, 单独写了demo,结果测试发现没问题。还研究了 pyinstaller 官网,也没解决问题。
真想不明白,网上那么多教程,没有一篇可以打包成功的。难道是因为我哪里操作不对吗?还是很多人压根就没有执行过打包的命令,有的教程打包命令执行还会报错,真的是。。。


这篇文章,主要是讲解如何利用 pyinstaller 打包 labelImg。至于 pyinstaller 如何安装以及使用、labelImg 环境配置,此处不作讲解。

一、labelImg 简介

labelImg 是深度学习目标检测常用的标注工具,源码可以从github官网下载:labelImg
找到对应页面的 Download ZIP 下载即可。
在这里插入图片描述

二、打包

2.1 常规打包方法

我比较喜欢用 pycharm 进行 python 相关开发,因此以下说明均是在 pycharm 进行。
打包时,要切换到终端里边的虚拟环境中,即 (venv)。
在这里插入图片描述
1、执行打包指令:

pyinstaller -D -w labelImg.py

在这里插入图片描述2、找到dist文件夹里边的labelImg.exe,双击运行,会报错提示未找到libs模块/库:
在这里插入图片描述
在这里插入图片描述
用常规的打包方法,失败。

2.2 官方打包方法

1、github上,找到打包指令
在这里插入图片描述


2、打包

pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -F -n "labelImg" -c labelImg.py -p ./libs -p ./

生成的是单一exe,运行会提示没找到文件 predefined_classes.txt
原因是单一的exe,在执行时,内部会先临时解析到某一个目录下,路径就变了,这样就会导致找不到原先的文件。具体解决方法,可以自行百度或者 pyinstaller 官网。
在这里插入图片描述


3、简化打包指令

pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -D labelImg.py -p ./libs -p ./

解压后,把原先data文件夹拷贝到 labelImg.exe 同目录下即可。
在这里插入图片描述
双击即可运行(黑框暂不知道如何去掉)。
在这里插入图片描述



【附录】 pyinstaller 常用选项

-h, --help查看该模块的帮助信息
-F,–onefile产生一个目录(包含多个文件)作为可执行程序
-d,–debug产生 debug 版本的可执行文件
-w,–windowed,–noconsolc指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,–nowindowed,–console指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,–out=DIR指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,–path=DIR设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,–name=NAME指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值