ROS2包依赖检查时rosdep工具出现OS_ALMALINUX导入错误
解决rosdep导入OS_ALMALINUX失败的问题
我之前碰到过一模一样的错误,问题出在你的rospkg版本过旧——你当前用的是rospkg 1.2.8,这个版本还没有添加OS_ALMALINUX这个系统检测常量,但你安装的rosdep 0.21.0已经依赖这个定义了,所以才会抛出导入错误。
试试下面的步骤来修复:
首先卸载旧版的rospkg(它被安装在
/usr/local/lib的egg包中):pip3 uninstall rospkg -y安装最新版本的rospkg,新版本已经包含了AlmaLinux的支持:
pip3 install --upgrade rospkg验证安装是否成功,运行以下命令如果没有报错就说明没问题:
python3 -c "from rospkg.os_detect import OS_ALMALINUX; print('rospkg支持AlmaLinux啦!')"最后重新运行你的rosdep命令:
rosdep install -i --from-path src --rosdistro galactic -y
如果因为某些原因无法升级rospkg,你也可以手动临时修复:找到/usr/local/lib/python3.8/dist-packages/rospkg-1.2.8-py3.8.egg/rospkg/os_detect.py文件,在其他OS_*常量的位置(比如OS_CENTOS附近)添加一行:
OS_ALMALINUX = 'almalinux'
不过这种方法只是临时 workaround,还是推荐升级rospkg来彻底解决问题。
内容的提问来源于stack exchange,提问作者Elie
相关产品推荐
相关产品推荐

