【YOLOv8学习】WSL2中安装标注软件X-AnyLabeling

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

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

github.com/CVHub520/X-...

修改虚拟环境目录

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

安装X-AnyLabeling

创建toolsvenv文件夹便于管理

bash 复制代码
mkdir -p ~/tools

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

bash 复制代码
cd ~/tools
git clone https://github.com/CVHub520/X-AnyLabeling.git

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

bash 复制代码
cd ~/venv
python3 -m venv venv-x-any-labeling-3-12-3
source ~/venv/venv-x-any-labeling-3-12-3/bin/activate

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

bash 复制代码
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进行安装依赖:

bash 复制代码
cd ~/tools/X-AnyLabeling/
pip install -r requirements-gpu.txt

执行命令,生成资源:

bash 复制代码
pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc

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

bash 复制代码
export PYTHONPATH=~/tools/X-AnyLabeling

报错处理

启动X-AnyLabeling

bash 复制代码
cd ~/tools/X-AnyLabeling/
python anylabeling/app.py

我这时有报错:

kotlin 复制代码
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应用时常见问题之一,依赖项不完整或者环境缺失,使用以下命令:

先退出当前的虚拟环境:

bash 复制代码
deactivate

一次性装齐依赖:

bash 复制代码
sudo apt update
sudo 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是否支持:

bash 复制代码
echo $DISPLAY

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

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

bash 复制代码
source ~/venv/venv-x-any-labeling-3-12-3/bin/activate
cd ~/tools/X-AnyLabeling/
python anylabeling/app.py

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

bash 复制代码
QStandardPaths: wrong permissions on runtime directory /run/user/1000/, 0755 instead of 0700

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

bash 复制代码
sudo chmod 700 /run/user/1000

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

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

bash 复制代码
sudo apt install fonts-noto-cjk

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

相关推荐
B站_计算机毕业设计之家4 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏5 小时前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity5 小时前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道5 小时前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7655 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子5 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q5 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手5 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手6 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集