如何实现labelImg源码运行

作为python小白,面对这个python写的labelImg 深度学习图像标注工具,想要对其源码进行修改并编译运行,相当折腾,幸好很多前辈的经验综合在一起,最终实现了!现在总结如下:

首先代码的获取和整个执行过程是按照github上的官方说明来的:https://github.com/tzutalin/labelImg

我是在windows下,按照官网中的如下说明做准备


因为之前已经安装了python加pycharm所以并没有安装Anaconda+pycharm,据说后者更方便,因为Anaconda在安装时会把python以后可能会用到的相关工具都安装上,具体见:https://blog.csdn.net/qq_33485434/article/details/80607252

我这里是安装的python3.6.5+pycharm

按官网说的,安装PyQt4,我觉得两种方法:

方法1:https://blog.csdn.net/qq_33485434/article/details/80604786

方法2,打开cmd 输入conda install pyqt=4 ,等待一会即可完成PyQt4的安装

因为labelImg 源码也依赖pyQt5,并且通过实验,证实了只安装pyqt5即可,如果4,5都安装反而会在pyinstaller打包时出错,折腾了很久,把源码中两处4改成了5,然后只安装pyqt5即可

在执行pip3 install PyQt5安装好pyqt5后 安装sip,安装方式如下:cmd下执行pip3 install sip

扫描二维码关注公众号,回复: 1671027 查看本文章

至此就剩lxml没有安装了,可以在cmd下 执行pip list(如果安装的是Anaconda+pycharm则执行conda list)可以查看为python安装了哪些扩展工具。

lxml的下载地址https://pypi.org/project/lxml/#files 找到对应自己python的版本下载,但是lxml官网http://lxml.de/installation.html 上说的最简单安装lxml的方式是

不用下载,直接在cmd中执行pip install lxml,完成后,可以再一次查看为python安装的扩展工具是否已经包含了sip,lxml,pyQt4,pyQt5,这些都安装完后,进入labelImg中的labelImg.py文件,在对其编译执行时,可能会报no module named xxx比如pyQt5,resourses等,可以参看https://blog.csdn.net/qq_33485434/article/details/80606359 这篇文章的后半部分,解决此问题。

如果运行labelImg.py时出问题(no module pyqt5之类的错误),去pycharm生成的labelImg.py(默认情况下是这个名字的文件夹)文件夹下,把pyvenv.cfg文件中的include-system-site-packages = false改为true,就可以了;

如果改完后又出现no module sip之类的错误,进入cmd用pip3 uninstall sip把其卸载后,再重新安装pip3 install sip应该就可以了

如果要用pyinstaller·对labelImg.py打包发布,那么我的建议是把生成目录定在labelImg.py所在的目录下,或者说在cmd中先定位到labelImg.py路径下,在该路径下执行另一个路径中的pyinstaller.exe进行打包,具体打包指令参看文章


猜你喜欢

转载自blog.csdn.net/qq_33485434/article/details/80607175