ROS 报错 ModuleNotFoundError: No module named ‘rospkg‘

写在前面

自己的测试环境是:ubuntu16.04 下安装了Anaconda3。
当前实验是在 base 环境下运行ROS,运行 rosrun rqt_tf_tree rqt_tf_treerosrun rqt_graph rqt_graph 时出现报错 ModuleNotFoundError: No module named 'rospkg' ,在此记录一下解决方法~~

一、问题描述

自己在ubuntu16.04 下安装了Anaconda3后,在 base 环境下运行ROS,当自己运行 rosrun rqt_tf_tree rqt_tf_treerosrun rqt_graph rqt_graph 时出现如下报错

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/rqt_tf_tree/rqt_tf_tree", line 5, in <module>
    from rqt_gui.main import Main
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/main.py", line 38, in <module>
    import rospy
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/client.py", line 52, in <module>
    import roslib
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/__init__.py", line 50, in <module>
    from roslib.launcher import load_manifest
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/launcher.py", line 42, in <module>
    import rospkg
ModuleNotFoundError: No module named 'rospkg'

二、出现原因

主要原因就是当前的base 环境(或者 自己的虚拟环境)下 缺少 rospkg 包。

1. Anaconda base 环境下的出现原因

cd 自己的anaconda的目录/anaconda3/lib/python3.7/site-packages
find rospkg

如果没有安装 rospkg 包,会出现 find: ‘rospkg’: No such file or directory

2. Anaconda 虚拟环境下的出现原因

这里自己的 Anaconda 虚拟环境 是 tf1_8.

cd 自己的anaconda的目录/anaconda3/envs/自己的虚拟环境名/lib/python3.*/site-packages
find rospkg

如果没有安装 rospkg 包,会出现 find: ‘rospkg’: No such file or directory
在这里插入图片描述
如果已经安装成功啦,会出现如下信息:
在这里插入图片描述

三、解决方法

1. Anaconda base 环境下解决方法

直接打开终端,终端默认进入 base 环境。
按照报错提示 ModuleNotFoundError: No module named 'rospkg' ,应该是 base 环境下缺少 rospkg 包,所以需要安装 rospkg 包。

pip install rospkg

安装完成之后,再次运行 rosrun rqt_tf_tree rqt_tf_tree ,如果还未运行成功,并且报错 ModuleNotFoundError: No module named 'pydot',那么可以如法炮制,需要安装 pydot 包。

pip install pydot

安装完成之后,再次运行 rosrun rqt_tf_tree rqt_tf_tree ,就可以运行成功啦~~~

2. Anaconda 虚拟环境下解决方法

直接打开终端,终端默认进入 base 环境,然后激活虚拟环境。

conda activate 自己的虚拟环境名
conda install pip    # 确保conda环境下也安装pip,这里是让conda用虚拟环境里的 pip 确保 rospkg 装在该环境
pip install rospkg

安装完成之后,再次运行 rosrun rqt_tf_tree rqt_tf_tree ,如果还未运行成功,并且报错 ModuleNotFoundError: No module named '****',那么可以如法炮制,需要安装 **** 包,然后再次运行 rosrun rqt_tf_tree rqt_tf_tree 就可以运行成功啦~~~

参考链接:
[1] ImportError: No module named rospkg – https://answers.ros.org/question/39657/importerror-no-module-named-rospkg/
[2] 运行ROS教程‘rosrun rqt_graph rqt_graph‘ 时报错ModuleNotFoundError: No module named ‘rospkg‘ — https://www.freesion.com/article/7153962566/

  • 33
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ModuleNotFoundError: No module named 'rospkg' 表示在运行过程中无法找到名为 'rospkg' 的模块。根据引用中的信息,这可能是因为 base 环境缺少 rospkg 包。为了解决这个问题,你可以按照以下步骤进行操作: 1. 打开终端,并进入 base 环境。 2. 使用 pip 命令安装 rospkg 包。命令为:pip install rospkg。 安装完成后,你可以再次运行相关命令,看是否解决了 ModuleNotFoundError 错误。如果还是报错并且提示缺少其他模块,你可以按照引用中的方法继续安装相应的模块。 请注意,如果你在安装过程中遇到权限问题,可能需要使用管理员权限或者在虚拟环境中进行操作。 希望这些信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [ROS 报错 ModuleNotFoundError: No module namedrospkg](https://blog.csdn.net/lievech/article/details/122299605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python模块导入出现ModuleNotFoundError: No module named ‘***’](https://download.csdn.net/download/weixin_38658085/14885867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值