在ZorinOS中优雅地使用rosdep
虽说ZorinOS和Elementary OS一样都是基于Ubuntu,但在ZorinOS中使用rosdep会提示Unsupport OS,而后者却不会,虽然我们可以在rosdep后加上参数–os=ubuntu:bionic(对应ubuntu18)临时解决,但总感觉不够优雅。
来自2022年的更新:不推荐用ZorinOS和rosdep
以下为笔者版本
ros:melodic
zorinos:15(对应ubuntu18)
以下来一个一劳永逸的方法(前提是ros不更新,不然就再改一次)/usr/lib/python2.7/dist-packages/rosdep2/platform/debian.py
a. 首先修改这个文件,找到这一句
1 | from rospkg.os_detect import OS_DEBIAN, OS_LINARO, OS_UBUNTU, OS_ELEMENTARY OS_MX, OsDetect, read_os_release |
改成(也就是加上OS_ZORIN
)
1 | from rospkg.os_detect import OS_DEBIAN, OS_LINARO, OS_UBUNTU, OS_ELEMENTARY, OS_ZORIN, OS_MX, OsDetect, read_os_release |
b. 然后在函数def register_platforms(context):
里面加上register_zorin(context)
c. 另外加上一个函数
1 | def register_zorin(context): |
保存该文件,接下来是/usr/lib/python2.7/dist-packages/rospkg/os_detect.py
- 在720行左右加上
OS_ZORIN = 'zorin'
- 在752行左右加上
OsDetect.register_default(OS_ZORIN, LsbDetect("zorin"))
保存完成!
接下来再试试rosdep,已经可以完美使用了。
在ZorinOS中优雅地使用rosdep