安装Anaconda后使用ros各种Python工具报错

问题1

rosun出错 ImportError: No module named rospk
安装了anaconda后找不到 rospkg

一种解决办法:

ImportError: No module named rospkg

I did pip install rospkg since I have anaconda. It worked.

(as a side note, for some packages I also got “No module named Em”, for which I used pip install empy)

问题2

电脑安装Anaconda3, 运行rosrun rqt_graph rqt_graph报错

Could not import "pyqt" bindings of qt_gui_cpp library - so C++ plugins will not be available:
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui_cpp/cpp_binding_helper.py", line 43, in 
    import libqt_gui_cpp_sip
ModuleNotFoundError: No module named 'libqt_gui_cpp_sip'

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/rqt_graph/rqt_graph", line 8, in 
    sys.exit(main.main(sys.argv, standalone='rqt_graph.ros_graph.RosGraph'))
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/main.py", line 59, in main
    return super(Main, self).main(argv, standalone=standalone, plugin_argument_provider=plugin_argument_provider, plugin_manager_settings_prefix=str(hash(os.environ['ROS_PACKAGE_PATH'])))
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/main.py", line 505, in main
    plugin = plugins.keys()[0]
TypeError: 'dict_keys' object does not support indexing

google了一下,不少人出现类似问题,应该和Python版本有关,把默认Python换回2.7.12,重新安装rqt和rqt-common-plugins依然不行。

问题解决

解决方法1

产生这种问题的最终原因是:Anaconda3默认Python为Python3.x,与ros-kinetic所需的Python版本2.7.x不符合,所以会报错,包括 rospkg、rqt_graph rqt、rqt_gui等等很多工具。

解决方法:注释掉.bashrc文件中Anaconda添加的路径

  1. 找到.bashrc文件中这一行,并注释掉
	 #export PATH="/home/deeplearning/anaconda3/bin:$PATH"
  1. 打开新窗口,运行
	rosrun rqt_graph rqt_graph
  1. 成功运行没有报错,查看Python版本
    python --version  
    2.7.12

没有 conda 的环境变量后,以后用conda指令只能将完整的路径加上

~/anaconda3/conda list  #使用完整路径

其他解决方案

用anaconda建立ros_env环境,并在该环境下安装ros包,每次使用ros的时候,都需要在ros_env环境下运行。如果需要其他环境,在anaconda中新建环境。
参考:https://www.cnblogs.com/hgl0417/p/11562580.html


参考文献:
[1] https://answers.ros.org/question/39657/importerror-no-module-named-rospkg/
[2] https://blog.csdn.net/Cyril__Li/article/details/74017438
[3] https://stackoverflow.com/questions/22585235/python-anaconda-how-to-safely-uninstall/40159908#40159908
[4] https://blog.csdn.net/jianghao_ava/article/details/81026192

你可能感兴趣的:(Python,ROS知识)