在使用conda和ros共存的ubuntu系统时,我采用的是base环境是conda python3,单独建立了一个rospy2的环境
在rospy2中使用rqt_gui时会出现:
段错误(核心已转储)
因此决定在base环境中使用rqt的各种插件
但是会遇到如下问题:
rosrun rqt_gui eqt_gui
出现:
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/python3.7/dist-packages/qt_gui_cpp/cpp_binding_helper.py", line 43, in <module> from . import libqt_gui_cpp_sip ImportError: dynamic module does not define module export function (PyInit_libqt_gui_cpp_sip)
这个错误。因此搜刮了网上各种教程:
其中写的最好的是:
ROS - 汇总ROS与Anaconda冲突的解决办法
在最初配置的时候非常推荐。
但是其中的第一个方法初始化时选no已经错过了,于是只能用其余方式补救:
法三:每次显式的启用anaconda
我们把export PATH="/home/$USER/anaconda3/bin:$PATH"
这句注释掉。每次使用anaconda的时候,手动在terminal中再输入这句话。
但是依然会出现这个问题。
于是我找到了一种比较硬核的解决方式:
问题解决的方法:use " conda install pydot"
但是这个是装在base中的,于是我在之前注释掉conda配置之后使用了如下两步解决了这个问题:
1.打开anaconda navigator:进入
配置ros的环境
2.搜索 pydot并安装:
之后进入终端使用source ~/.bashrc
出现界面没有(base)了:
键入rosrun rqt_gui rqt_gui
问题解决:
此时没有在rospy2环境中使用rqt,也就不存在段错误的情况了。
其余解决方案:
ROS与Anaconda的冲突解决
https://blog.youkuaiyun.com/qq_34689206/article/details/84960962
ROS使用过程中出现的问题:由于Anaconda的Python路径问题造成rqt_graph报错
https://blog.youkuaiyun.com/sinat_36330809/article/details/83992645
conda - conda使用总结
https://blog.youkuaiyun.com/bornfree5511/article/details/106723571