小白安装labelimg常见问题及其原因(带知识点理解)

简介: 小白安装labelimg常见问题及其原因(带知识点理解)

前提知识点:

anaconda是什么:

Anaconda是一个用于科学计算的Python发行版。

Anaconda支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

anaconda存在的意义是什么:

从上面第二段的内容,我们知道了anaconda提供了包管理和环境管理的功能。这里我们具体说说anaconda需要提供的原因。

原因1 python版本过多:

python的许多包和程序要求的版本不同。例如许多企业的源代码都是在很久之前编写完成的,为了让这个程序在你的电脑中可以运行我们就需要下载可以兼容的较低的python版本,这样子造成的后果就是我们的电脑中python的版本过多,对我们的整理以及一些包的下载及使用(不确定默认路径是什么造成不知道下载在哪个python对应下的库中)造成极大的不便。

原因2 python常用的包过多:

python存在许许多多常用的包,例如numpy、pendulum等。这会造成我们每次配置新的python环境后需要一个个手动的去通过pip下载包,这对于追求效率的程序员群体,是一个相当大的考验(情绪上)

anaconda如何解决:

anaconda提供包管理功能,当我们下载anaconda时常用的许多包便随着这个软件被我们下载,同时如果我们想下载一些第三方的库或者不常见的库,我们可以通过anaconda进行可视化的下载,不一定要通过终端pip来进行下载(猿们大呼一口气!)。

更重要的是anaconda提供环境管理的功能,也就是说我们可以通过anaconda去修改我们的python环境,甚至可以在anaconda创建一个自己定义的虚拟环境在里面下载python版本然后再在这个环境中的python里面安装所需要的库和包。虚拟环境的好处在于它下载的python并不是实际上在你的电脑上下载而是内嵌于anaconda,这就是绕开你电脑的原本环境,让anaconda去管理环境,避免了不同版本python之间文件夹、库、包之间的冲突,为我们节省了大量的精力。

安装中常见的问题:

问题1 安装labelimg以及其依赖包后无法运行:

很多人在anaconda中下载labelimg后发现其安装教程,输入labelimg后无法运行这个软件,具体报错如下:

这个错误是指anaconda并没有找到我们的labelimg可执行文件

然后我们输入

pip list 结果又如下:

这就奇怪了,明明有labelimg为什么在Anaconda  Prompt里面运行labelimg会显示找不到。然后我选择重新pip install labelimg 下载labelimg然后出现:

发现已经有了下载安装的路径,但是我发现这个安装在c盘,而我的anaconda安装路径在d盘,那么事情就简单很多了,以下是我的个人理解

首先anaconda安装在d盘,而pip install的默认安装路径我并没有更改到anaconda的根目录下,所以导致有些东西他会在c盘自己创建一个python文件夹来存放anaconda prompt中下载的一些东西,然而像labelimg这种有执行文件的工具他是默认从你安装anaconda的根目录中去寻找的(或者说在Scripts中寻找),所以你把labelimg的执行文件下载在c盘里肯定找不到。

因此我们直接复制安装路径,在这个安装目录下去找labelimg 的可执行文件,然后在直接点击发现这个时候labelimg就运行成功了。

但是这个问题还没有解决,我们还不能在anaconda prompt里面进入labelimg。然后我们需要知道一个补充的知识点:

site—package文件夹里面放的是库函数所需要的内部数据。

script文件夹里面放的是库函数的可执行文件(脚本的可执行文件)

那么事情就简单了,既然 anaconda prompt无法进入labelimg是因为在其根目录上找不到,那么我们把labelImg.exe和labelImg.py放到我们安装anaconda的Scripts文件夹中就可以在anaconda prompt中直接打开啦(anaconda 的script文件夹目录如下)

问题2:打开labelimg开始标记,发现一按鼠标左键标注就会闪退

在欣喜打开label后我们发现,一标记就闪退然后出现如下错误:

在查阅了许多资料后发现,这个错误的原因在于:

python版本和labelimg依赖包的版本不匹配,就是说依赖包可能不适应你电脑目前正使用的python版本导致在pip install下载依赖包的时候部分数据可能没有下载成功(没有下载成功是会出现一些警告和错误提示的)。

此时最好的解决方法是:

利用anaconda的环境配置功能去重新配置一个虚拟的python环境,再在这个虚拟的环境里面重新下载labelimg和其依赖包,然后在anaconda里面去运行labelimg。

具体方法如下:

1、在anaconda Prompt里重建环境

(1)conda create -n python39 python=3.9.16(我这是重新建立了一个python3.9的环境),

(2)activate labelImg(进入刚建立的新环境)

(3)pip install pyqt5 (安装labelimg的依赖包)

(4)pip install labelImg (安装labelimg)

用labelImg时在Anaaconda Prompt激活activate labelImg,输入labelImg就可以,用的时候不要关闭anaconda Prompt黑窗。亲测有效。

2、下次进入anaconda建立的环境(虚拟环境的查看和切换)

当你的本地创建了多个虚拟环境之后,加之又在不同的虚拟环境中安装了不同的第三方package,这样一来,虚拟环境的切换就很重要了,为了在不同环境里面运行不同的package。

(1)

# 查看已有的虚拟环境,选择你要切换到的虚拟环境
conda info --envs
# 或者
conda env list

(2)

# 在命令行中切换到想要的虚拟环境,我这里切换到paddle
conda activate paddle

此时就可以看到我们的anaconda已经切换到这个虚拟环境里面,可以调用这个环境的script以及第三方库函数了。(所以一定要记住自己每个环境在什么情况下使用呀)(这里我运行labelimg的环境是python39,就是上面create的名字)

问题3:打开labelimg开始标记,标记没有问题,但是切换图片会出现闪退

这个问题的原因在于,你切换的图片中已经存在了一些标记并且这些标记的类型并不在你的label文件夹的classes文本中(这个文件夹就是我们change save dir的文件夹。classes文本就在这个文件夹中,用来放我们要标记的image总共存在的几类标记)

这个classes中写了标记的名字并不代表labelimg中就有了这个标记名字的快捷键,仅保证不会在遇到图片已经存在标记时,你的labelimg不会因为没有这个内置标记的名字从而出现闪退现象。

本文到这里就结束啦~~希望能大家带来点帮助

码了两小时,第一次在csdn上面写文章,还有很多不足的地方,望大家指正批评~

本人某大学在读二年级小趴菜一枚~有喜欢交流软件的小伙伴可以加我好友呀~一起讨论一起进步!

相关文章
|
XML 数据格式 Python
Labelimg标注自己的数据集,及如何划分训练集和验证集,应用于Yolov5
Labelimg标注自己的数据集,及如何划分训练集和验证集,应用于Yolov5
4620 0
|
9月前
|
机器学习/深度学习 人工智能 数据可视化
基于 YOLOv8 的共享单车乱停放智能识别系统— 从数据集构建到可视化部署的完整项目
基于YOLOv8的共享单车乱停放智能识别系统,涵盖数据采集、标注、模型训练到PyQt5可视化部署全流程。支持图片、视频、摄像头实时检测,具备高精度与强实用性,适用于智慧城管、园区管理及AI教学,提供完整源码与模型,开箱即用,助力毕业设计与工程落地。
386 0
基于 YOLOv8 的共享单车乱停放智能识别系统— 从数据集构建到可视化部署的完整项目
|
XML 数据格式 Python
Python实用记录(五):labelImg安装和使用-----看这篇就够了!
这篇文章介绍了在Windows 10系统中使用Anaconda3安装labelImg工具的方法,包括通过pip安装相关包和从GitHub下载配置,以及一些使用技巧,如修改预定义类别和自动保存功能。
2722 3
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
27933 3
|
6月前
|
机器学习/深度学习 人工智能 安全
桥梁裂缝检测数据集(4000张)|YOLO训练数据集 结构安全监测 自动巡检 无人机检测 小目标识别
本数据集含4000张真实桥梁图像,专为裂缝检测构建,适配YOLO等模型。覆盖多桥型、多环境、多尺度裂缝(含发丝级),标注精准、结构规范,支持自动巡检、无人机检测与小目标识别,助力桥梁结构安全智能监测。
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
17063 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
30445 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
1716 8
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)