ModuleNotFoundError: No module named ‘rospkg’
出现这个问题,首先检查ros有没有安装,如果安装了,更新rospkg:
pip install rospkg //更新方式1
sudo apt-get install python-rospkg //更新方式2
//网上说有的方式1能解决,有的方式2可以解决,用pip更新的前提是安装了pip
如果更新后还没解决,可能是python环境除了问题,运行roscore会出现如下报错:
zhangman@zhangman-G3-3579:~$ roscore
Traceback (most recent call last):
File "/opt/ros/kinetic/bin/roscore", line 36, in <module>
from rosmaster.master_api import NUM_WORKERS
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
from .main import rosmaster_main
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
import rosmaster.master
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master.py", line 47, in <module>
import rosmaster.master_api
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master_api.py", line 72, in <module>
from rosmaster.util import xmlrpcapi
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/util.py", line 48, in <module>
from defusedxml.xmlrpc import monkey_patch
ModuleNotFoundError: No module named 'defusedxml'
ros-kenitic对应的是python2,出现以上现象的原因是系统的python版本处于python3状态,切换回python2即可,如何切换见我的博客python3.7安装及版本切换。
https://blog.csdn.net/qq_42138662/article/details/105519753
后记:出现这个问题的原因是我在anaconda3中运行的一个代码需要以来python3环境,因此我安装了python3并将系统的python版本设置为python3,其实ananconda3内python的环境可以独立于系统进行设置。详见我的博客ananconda3中python环境和系统python环境设置。
版权声明:本文为qq_42138662原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。