运行roscore 报错ModuleNotFoundError: No module named ‘defusedxml’
报错
确认是否已经安装defusedxml
apt list --installed | grep defusedxml
强制卸载与安装(可选)
#方法1:
sudo apt purge python-defusedxml
sudo apt install --reinstall python-defusedxml python-lxml
#方法2:
sudo pip2 uninstall defusedxml
sudo pip2 install --force-reinstall defusedxml
解决办法
#定位包defusedxml的位置,方法1
sudo find / -type d -name "defusedxml" 2>/dev/null | grep dist-packages | head -1
#位置:
/usr/lib/python2.7/dist-packages/defusedxml/
#定位包defusedxml的位置,方法2
python2 -c "import defusedxml; print(defusedxml.__file__)"
#查看ROS中python目录是否包含defusedxml,发现不存在,所以ros找不到包
/opt/ros/melodic/lib/python2.7/dist-packages
#解决,将包复制过去
cd /usr/lib/python2.7/dist-packages/
sudo cp -r defusedxml /opt/ros/melodic/lib/python2.7/dist-packages