• 从源码上解决rosdep update失败问题


    (一)卸载官方的rosdep、rosdistro

    1. 卸载rosdistro
    # python2
    sudo apt-get purge python-rosdistro
    
    # python3
    sudo apt-get purge python3-rosdistro
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 卸载rosdep
    # python2
    sudo apt-get purge python-rosdep
    
    # python3
    sudo apt-get purge python3-rosdep
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 删除下载的20-default.list
    sudo rm -rf /etc/ros/rosdep/sources.list.d/20-default.list
    
    • 1

    (二)下载安装rosdep、rosdistro

    根据系统版本下载相应的rosdep、rosdistro:

    1. ROS Kinetic(Ubuntu 16.04 python2)
    # 下载国内的rosdep
    wget http://www.aigrantli.com:1080/GrantLi/rosdep/uploads/35cf1afb1107970c1ec78dbf5ef6663b/rosdep-0.22.1-py2-none-any.whl
    # 下载国内的rosdistro
    wget http://www.aigrantli.com:1080/GrantLi/rosdistro-python/uploads/35ef18efc558999d4c4e32015eebc20b/rosdistro-0.9.0-py2-none-any.whl
    
    # 安装rosdistro
    sudo pip install rosdistro-0.9.0-py2-none-any.whl
    # 安装rosdep
    sudo pip install rosdep-0.22.1-py2-none-any.whl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. ROS Melodic(Ubuntu 18.04 python2)
    # 下载国内的rosdep
    wget http://www.aigrantli.com:1080/GrantLi/rosdep/uploads/35cf1afb1107970c1ec78dbf5ef6663b/rosdep-0.22.1-py2-none-any.whl
    # 下载国内的rosdistro
    wget http://www.aigrantli.com:1080/GrantLi/rosdistro-python/uploads/35ef18efc558999d4c4e32015eebc20b/rosdistro-0.9.0-py2-none-any.whl
    
    # 安装rosdistro
    sudo pip install rosdistro-0.9.0-py2-none-any.whl
    # 安装rosdep
    sudo pip install rosdep-0.22.1-py2-none-any.whl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. ROS Noetic(Ubuntu 20.04)
    # 下载国内的rosdep
    wget http://www.aigrantli.com:1080/GrantLi/rosdep/uploads/49ea4ce804b58bc7e16c4336c04d1664/rosdep-0.22.1-py3-none-any.whl
    # 下载国内的rosdistro
    wget http://www.aigrantli.com:1080/GrantLi/rosdistro-python/uploads/bb3db475bf0fab68b98dd2af22733a8e/rosdistro-0.9.0-py3-none-any.whl
    
    # 安装rosdistro
    sudo pip install rosdistro-0.9.0-py3-none-any.whl
    
    # 安装rosdep
    sudo pip install rosdep-0.22.1-py3-none-any.whl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    如果需要根据自己的系统手动编译,请见(四)手动编译rosdep、rosdistro

    (三)测试rosdep update

    sudo rosdep init
    rosdep update
    
    • 1
    • 2

    (四)手动编译rosdep、rosdistro(可选)

    1.下载修改的rosdep、rosdistro源码

    mkdir -p ~/rosdep_ws
    git clone http://www.aigrantli.com:1080/GrantLi/rosdep.git
    git clone http://www.aigrantli.com:1080/GrantLi/rosdistro-python.git
    
    • 1
    • 2
    • 3

    2.安装依赖及编译生成的目录

    # 下载wheel,用于打包成python软件包
    sudo pip install wheel
    
    # 创建rosdep whl文件保存目录
    mkdir -p ~/rosdep_ws/rosdep_whl
    # 创建rosdistro whl文件保存目录
    mkdir -p ~/rosdep_ws/rosdistro_whl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 编译rosdep
    # 进入rosdep源码目录
    cd ~/rosdep_ws/rosdep
    
    # 编译rosdep
    pip wheel --wheel-dir=~/rosdep_ws/rosdep_whl ./
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 编译rosdistro
    # 进入rosdistro源码目录
    cd ~/rosdep_ws/rosdistro-python
    
    # 编译rosdistro
    pip wheel --wheel-dir=~/rosdep_ws/rosdistro_whl ./
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.安装rosdistro

    # 进入rosdistro_whl目录
    cd ~/rosdep_ws/rosdistro_whl
    
    # 安装rosdistro whl
    sudo pip install rosdistro-0.9.0-py3-none-any.whl
    
    • 1
    • 2
    • 3
    • 4
    • 5

    其中rosdistro-0.9.0-py3-none-any.whl按照实际生成的whl文件名替换。

    6.安装rosdep

    # 进入rosdep_whl源码目录
    cd ~/rosdep_ws/rosdep_whl
    
    # 安装rosdep whl
    sudo pip install rosdep-0.22.1-py3-none-any.whl
    
    • 1
    • 2
    • 3
    • 4
    • 5

    其中rosdep-0.22.1-py3-none-any.whl按照实际生成的whl文件名替换。

    7.测试rosdep update
    见(三)测试rosdep update。

    更多操作细节请移步到从源码上解决rosdep update失败问题

  • 相关阅读:
    java计算机毕业设计大数据在线考试系统在线阅卷系统及大数据统计分析MyBatis+系统+LW文档+源码+调试部署
    Django官网项目
    Flink学习第八天——Flink核心的Sink Operator实战
    vue2入门--->非单文件组件(html直接使用组件)
    JavaScript 71 JavaScript JSON 71.9 JSON 服务器
    GDPU 数据结构 天码行空6
    Linux常用命令——bzdiff命令
    代码随想录刷题总结
    使用Cubemap和Volume Textures之间传输数据的示例编程
    HTML网页设计结课作业——基于HTML+CSS仿学校官网页面
  • 原文地址:https://blog.csdn.net/GJXS2017/article/details/128179086