掘金 人工智能 前天 13:36
【YOLOv8学习】WSL2中安装标注软件X-AnyLabeling
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文记录了在WSL(Windows Subsystem for Linux)环境中安装X-AnyLabeling标注软件的详细过程。作者首先整理了虚拟环境的目录结构,将其统一管理在用户目录下的venv文件夹中。随后,详细介绍了从GitHub克隆X-AnyLabeling代码,创建并激活对应虚拟环境的步骤。文章重点阐述了在GPU环境下安装ONNX Runtime及其他依赖项的过程,并提供了在启动软件时可能遇到的“xcb”平台插件错误的处理方法,包括安装必要的Qt依赖库和检查DISPLAY环境变量。此外,还解决了运行时权限警告以及中文乱码问题,通过安装中文字体来确保软件界面的正常显示。整体而言,这是一份详尽的WSL环境下的X-AnyLabeling安装与问题解决手册。

📝 **环境准备与虚拟化管理**:作者在WSL中为Yolov8和X-AnyLabeling分别创建了独立的虚拟环境,并统一存放在用户目录下的venv文件夹内,同时为X-AnyLabeling新建了tools文件夹,展示了良好的项目管理和环境隔离的实践,便于多项目同时开发和维护。

🚀 **X-AnyLabeling的安装与GPU依赖配置**:详细说明了通过git clone获取X-AnyLabeling源码,并在激活的虚拟环境中安装了针对GPU的`onnxruntime-gpu`,并根据CUDA版本指定了安装源。同时,通过`pip install -r requirements-gpu.txt`安装了其他GPU相关的依赖,确保了在支持GPU的硬件上能够高效运行。

🛠️ **GUI启动常见错误及解决**:在启动X-AnyLabeling时遇到了Qt平台插件`xcb`加载失败的常见Linux GUI问题。文章通过`deactivate`退出虚拟环境,执行`sudo apt install`命令一次性安装了`libxcb`系列等多个Qt GUI依赖库,并检查了`$DISPLAY`环境变量,有效解决了GUI应用在WSL中的运行障碍。

⚠️ **运行权限警告与中文乱码修复**:解决了X-AnyLabeling启动时出现的关于`/run/user/1000/`目录权限的警告,通过`sudo chmod 700`命令修正了权限设置。针对WSL环境下中文显示乱码的问题,作者通过`sudo apt install fonts-noto-cjk`安装了思源黑体等中文字体,成功修复了界面显示异常。

⚙️ **资源文件生成与环境变量设置**:在安装过程中,指导用户执行了`pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc`命令来生成GUI资源文件,这是确保软件界面正常加载的关键步骤。文章还提到了设置`PYTHONPATH`环境变量的建议,尽管在特定执行路径下可能非必需,但提供了更通用的解决方案。

前段时间,在wsl中安装配置了yolov8的环境,在训练模型时,需要用到标注软件,这次参考了官网的快速入门指南和GhatGPT,安装X-AnyLabeling软件,记录下安装过程与错误处理。

官网的快速入门指南地址:

github.com/CVHub520/X-…

修改虚拟环境目录

这次我将之前yolov8-study文件夹下的虚拟环境删掉重建了,准备在用户目录下建立一个venv文件夹,用来存放多个虚拟环境,目前两个,一个是yolov8的训练推理的环境,另一个是X-AnyLabeling用到的虚拟环境。另外在用户目录下新建tools文件夹,用来存放X-AnyLabeling

安装X-AnyLabeling

创建toolsvenv文件夹便于管理

mkdir -p ~/tools

进入tools文件夹后,从github拉取代码

cd ~/toolsgit clone https://github.com/CVHub520/X-AnyLabeling.git

venv文件夹中,创建X-AnyLabeling的虚拟环境,并激活该环境

cd ~/venvpython3 -m venv venv-x-any-labeling-3-12-3source ~/venv/venv-x-any-labeling-3-12-3/bin/activate

安装ONNX Runtime,根据CUDA的版本来

cd ~/tools/X-AnyLabeling/pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/

根据这里的CUDA版本来选择安装命令,官网的提示:

根据电脑的系统,gpu等需要,选择requirements进行安装依赖:

cd ~/tools/X-AnyLabeling/pip install -r requirements-gpu.txt

执行命令,生成资源:

pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc

根据官网提示设置环境变量(我每次进入~/tools/X-AnyLabeling执行命令,不需要这一步也可以):

export PYTHONPATH=~/tools/X-AnyLabeling

报错处理

启动X-AnyLabeling

cd ~/tools/X-AnyLabeling/python anylabeling/app.py

我这时有报错:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

这时候Qt在Linux(WSL)中运行GUI应用时常见问题之一,依赖项不完整或者环境缺失,使用以下命令:

先退出当前的虚拟环境:

deactivate

一次性装齐依赖:

sudo apt updatesudo apt install -y \  libx11-xcb1 libxcb1 libxcb-util1 libxrender1 libxkbcommon-x11-0 \  libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 \  libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 \  libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 \  libxkbcommon-x11-dev

安装结束后,确认GUI是否支持:

echo $DISPLAY

如果输出是 :0 或 :0.0,说明 GUI 支持开启了。

重新激活虚拟环境,以及启动X-AnyLabeling

source ~/venv/venv-x-any-labeling-3-12-3/bin/activatecd ~/tools/X-AnyLabeling/python anylabeling/app.py

此时软件正常启动,但是报了一个警告:

QStandardPaths: wrong permissions on runtime directory /run/user/1000/, 0755 instead of 0700

这是Qt(PyQt5)对 XDG_RUNTIME_DIR 的权限检查,不影响运行,修改/run/user/1000/的权限来修复此警告:

sudo chmod 700 /run/user/1000

再次执行启动命令,发现软件正常启动了,也没有警告输出。

软件成功打开后,工具栏Language选项下,中文那一栏乱码,这是由于WSL环境下缺少中文字体,退出软件,执行命令,安装字体:

sudo apt install fonts-noto-cjk

安装好后,再次启动软件,成功启动,且没有了乱码问题。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

X-AnyLabeling WSL 标注软件 Yolov8 深度学习环境配置
相关文章