evo安装与使用

本文档详细记录了Evo的源码安装过程,包括gitclone超时的解决、pip未安装的处理、pip版本过低的升级方法,以及安装过程中遇到的numpy和matplotlib版本冲突问题。通过升级这两个库的版本解决了冲突。此外,还介绍了如何使用evo进行bag文件轨迹测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、evo安装

evo共有两种安装方式

1、快捷安装 ,直接安装最新的稳定发行版:

pip install evo --upgrade --no-binary evo

2、源码安装 ,下载源码进行安装:

首先在任意文件夹下下载evo,也可以在home中直接下载

git clone https://github.com/MichaelGrupp/evo.git

然后进入evo文件夹下打开终端运行:

pip install --editable . --upgrade --no-binary evo

这里我使用的是第二种方式的安装,其中遇到的一些问题记录如下:

问题1:git clone下载超时
使用git clone下载evo文件时遇到超时的情况,可以直接从网址进入:

https://github.com/MichaelGrupp/evo

然后直接下载。
在这里插入图片描述
问题2:运行pip安装命令显示pip未安装
这里可以通过直接运行下列命令安装:

sudo apt install python-pip

注意:pip是对应于python2版本的命令,python运行的是pip3
在这里插入图片描述
问题3:pip版本偏低
在安装完pip后,再次运行上述安装命令遇到下述问题:
在这里插入图片描述
错误显示为我安装的pip版本低于要求的版本,下面给出了建议方式进行更新。但是我运行下面安装命令:

pip install --upgrade pip

遇到了下面的情况:
在这里插入图片描述
结果并没有什么卵用???疯狂百度找了半天最后终于找到解决方案:

采用手动安装方式:

sudo apt-get update
sudo apt-get upgrade
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip --version

这个方式是来自ykwjt的博客,但是我运行的时候出现了一定的问题:

zhangxingsheng@zhangxingsheng-G3-3590:~$ sudo python get-pip.py
ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.6. Please use https://bootstrap.pypa.io/pip/2.7/get-pip.py instead.

这里是上面第三步中网址下载的文件版本的问题,将其删除然后修改为下面这个网址下的文件然后重新运行第四步即可:
在这里插入图片描述
问题4、再次运行安装命令,显示安装成功但是有两个报错:
这里安装完成后显示了两个东西的版本问题:

ERROR: pip's legacy dependency resolver does not consider dependency conflicts when selecting packages. This behaviour is the source of the following dependency conflicts.
pandas 0.24.2 requires numpy>=1.12.0, but you'll have numpy 1.11.0 which is incompatible.
seaborn 0.9.1 requires matplotlib>=1.5.3, but you'll have matplotlib 1.5.1 which is incompatible.
Successfully installed argcomplete-1.12.3 colorama-0.4.4 configparser-4.0.2 contextlib2-0.6.0.post1 evo-1.12.0 importlib-metadata-2.1.1 natsort-6.2.1 pandas-0.24.2 pathlib2-2.3.6 python-dateutil-2.8.2 scandir-1.10.0 scipy-1.2.3 seaborn-0.9.1 zipp-1.2.0

在这里插入图片描述
这里是由于numpy和matplotlib的版本过低导致的报错,运行下列命令升级这两个工具:

pip install numpy --upgrade --user
pip install matplotlib --upgrade --user

2、evo测试
evo共支持kitti、tum、euroc这三个公开数据集格式,同时也支持bag文件里的topic。这里使用一个bag文件的轨迹测试一下:

evo_traj 的具体语法格式:

evo_traj  bag文件  话题名1 话题名2 ....  话题名n  [参数]

运行命令如下:

evo_traj bag odom_20201-07-01-14-59-34.bag /odom -p

效果如下:
在这里插入图片描述
参考文档:
1、

https://blog.csdn.net/weixin_44386661/article/details/103080551

2、

https://blog.csdn.net/ykwjt/article/details/105846071

3、

https://blog.csdn.net/A_L_A_N/article/details/88708979?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link

4、

https://blog.csdn.net/qq_43247439/article/details/112802104

5、

https://blog.csdn.net/qq_39779233/article/details/107582059

6、

https://zhuanlan.zhihu.com/p/88223106

7、

https://blog.csdn.net/hhaowang/article/details/105226136
<think>好的,我现在需要解决用户遇到的Qt平台插件'xcb'加载失败的问题。用户提到错误信息是“qt.qpa.plugin: Could not load the Qt platform plugin ‘xcb’”,并且引用了四个相关的参考资料。我需要仔细分析这些引用,找出解决方案,并按照用户的要求用中文回答,结构清晰,分步骤说明。 首先,我要回顾用户提供的引用内容。引用[1]、[2]、[3]和[4]都涉及类似的问题,即Qt应用程序无法加载xcb插件。根据引用[4],问题通常是由于缺少依赖库导致的,可以通过设置QT_DEBUG_PLUGINS=1来查看详细的错误信息,定位缺失的库。在Ubuntu系统中,可能需要安装libxcb-xinerama0,而在CentOS中可能是libxkbcommon-x11-devel。此外,引用[2]和[3]提到即使插件路径正确,仍可能加载失败,可能需要设置环境变量如QT_QPA_PLATFORM_PLUGIN_PATH或QT_PLUGIN_PATH指向正确的插件目录。还有可能需要设置DISPLAY环境变量,确保X服务器运行,尤其是在无头环境中可能需要使用虚拟显示如Xvfb。 接下来,我需要整理出解决步骤。首先检查依赖库是否安装,然后检查环境变量是否正确设置,包括插件路径和DISPLAY变量。如果问题仍然存在,可能需要重新安装相关软件包或使用虚拟显示。同时,用户可能需要根据不同的系统(Ubuntu或CentOS)安装不同的库,如引用[4]所述。 需要注意的是,用户可能在命令行或远程SSH会话中运行程序,这时候DISPLAY变量可能未设置,导致X11连接失败。这种情况下,安装xcb相关库或配置虚拟显示可能会有帮助。此外,确保Qt插件路径正确,避免路径中有中文或特殊字符,这可能会影响插件的加载。 最后,生成相关问题,这些问题应该围绕Qt插件加载失败的其他可能原因、不同系统的依赖安装、环境变量的设置方法,以及虚拟显示的使用场景展开。</think>### 逐步解决方案:Qt平台插件'xcb'加载失败问题 #### 1. **检查缺失的依赖库** - **定位缺失库**:在终端执行以下命令启用调试模式,查看具体缺失的库: ```bash export QT_DEBUG_PLUGINS=1 your_qt_application # 替换为实际程序名(如python脚本或编译后的程序) ``` 根据输出提示的缺失文件名(如`libxcb-xinerama.so.0`),安装对应库: - **Ubuntu/Debian**: ```bash sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 ``` - **CentOS/RHEL**: ```bash sudo yum install libxkbcommon-x11-devel libxcb-util ``` - 若无法确定包名,可通过网站(如[rpmfind.net](http://rpmfind.net))搜索文件名对应的安装包[^4]。 #### 2. **设置环境变量** - **指定插件路径**:若插件路径未被正确识别,手动设置`QT_PLUGIN_PATH`: ```bash export QT_PLUGIN_PATH=/path/to/qt/plugins # 例如:$HOME/anaconda3/envs/your_env/lib/python3.7/site-packages/cv2/qt/plugins ``` - **强制使用xcb插件**: ```bash export QT_QPA_PLATFORM=xcb ``` #### 3. **检查X11显示配置** - **验证DISPLAY变量**:确保当前会话已设置有效的显示接口: ```bash echo $DISPLAY # 正常应返回类似":0"或":1" ``` 若未设置(如通过SSH连接),需启用X11转发: ```bash ssh -X user@host # 使用-X选项连接 ``` - **使用虚拟显示(无GUI环境)**:安装`Xvfb`并启动虚拟显示: ```bash sudo apt install xvfb # Ubuntu Xvfb :99 -screen 0 1024x768x24 & export DISPLAY=:99 ``` #### 4. **重新安装相关软件包** - 若依赖库和环境变量均正确,但问题仍存在,尝试重新安装: ```bash # 对于OpenCV-Python或PyQt pip uninstall opencv-python-headless pyqt5 pip install opencv-python-headless pyqt5 --force-reinstall ``` #### 5. **验证Qt插件路径** - 检查程序是否从正确路径加载插件: ```bash strace -e openat your_qt_application 2>&1 | grep "xcb" ``` 确保输出中显示的路径包含`platforms/libqxcb.so`。 --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶执念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值