当前位置: 萬仟网 > IT编程>脚本编程>Python > 安装ROS后初始化时出现The ‘rosdep==0.19.0‘ distribution was not found and is required by the application错误

安装ROS后初始化时出现The ‘rosdep==0.19.0‘ distribution was not found and is required by the application错误

2020年07月30日 Python 我要评论
安装好ROS后,当初始化时,出现错误:@Inspiron-7447:~$ sudo rosdep initTraceback (most recent call last): File "/usr/bin/rosdep", line 6, in <module> from pkg_resources import load_entry_point File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init

安装好ROS后,当初始化时,出现错误:

@Inspiron-7447:~$ sudo rosdep init
Traceback (most recent call last):
  File "/usr/bin/rosdep", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3254, in <module>
    @_call_aside
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3238, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3267, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 584, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 901, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 787, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'rosdep==0.19.0' distribution was not found and is required by the application

网上查到需要重新安装 Python3.5 版本的 rosdep
sudo apt install python3-rosdep
进行修复(坑)

$ sudo apt install python3-rosdep
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 python3-rosdep : 依赖: python3-catkin-pkg 但是它将不会被安装
                  依赖: python3-rospkg 但是它将不会被安装
                  依赖: python3-rosdep-modules (>= 0.19.0) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

如果用这个修复,会卸载掉ROS的很多东西

升级了 0 个软件包,新安装了 1 个软件包,要卸载 205 个软件包,有 74 个软件包未被升级。

因此又继续查其他解决办法:
原因是由于ROS默认是python2,而自己系统python版本换到了python3造成的。我们将系统python版本换到python2就可以了。执行命令

sudo update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径            优先级  状态
------------------------------------------------------------
* 0            /usr/bin/python3   150       自动模式
  1            /usr/bin/python2   100       手动模式
  2            /usr/bin/python3   150       手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:1
update-alternatives: 使用 /usr/bin/python2 来在手动模式中提供 /usr/bin/python (python)

选择python2的编号回车即可切换。

重新进行初始化等步骤又可以了

@Inspiron-7447:~$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

	rosdep update

@Inspiron-7447:~$ rosdep update

本文地址:https://blog.csdn.net/z952957407/article/details/107645997

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。

发表评论

验证码:
Copyright © 2017-2022  萬仟网 保留所有权利. 琼ICP备2022007597号