解決ROS rqt 不能執行的問題,不徹底

2021-09-25 14:52:08 字數 3242 閱讀 4494

環境ubuntu 16.04, qt 5.7.1, python2.7,kinect ros,

執行ros時,需要rqt_console等,但出現如下錯誤:

traceback (most recent call last):

file "/opt/ros/kinetic/bin/rqt_console", line 8, in sys.exit(main.main(sys.ar**, standalone='rqt_console.console.console'))

file "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/main.py", line 59, in main

return super(main, self).main(ar**, 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 338, in main

from python_qt_binding import qt_binding

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/__init__.py", line 55, in from .binding_helper import loadui, qt_binding, qt_binding_modules, qt_binding_version # @unusedimport

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 273, in getattr(sys, 'select_qt_binding_order', none),

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 108, in _select_qt_binding

qt_binding_version = binding_loader(required_modules, optional_modules)

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 154, in _load_pyqt

_named_optional_import('pyqt5.%s' % module_name)

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 139, in _named_optional_import

_named_import(name)

file "/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 130, in _named_import

module = builtins.__import__(name)

runtimeerror: the sip module implements api v11.0 to v11.2 but the module requires api v12.0

網上查了很多,但都是pyqt和sip版本不相容的解釋。暫時還不清楚ros裡面的python和系統的python是如何相關的。也重新安裝了sip4.18,但是裡面的sip.x86_64-linux-gnu.so沒有更新。測試時問題依然存在。

然後就是順這**查,發現/opt/ros/kinetic/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py中的

required_modules = [

'qtcore',

'qtgui',

'qtwidgets',

]optional_modules = [

# 'qtbluetooth',

'qtdbus',

'qtdesigner',

'qthelp',

# 'qtlocation',

# 'qt**********',

# 'qt**********widgets',

'qtnetwork',

'qnetworkauth',

# 'qtnfc',

'qtopengl',

# 'qtpositioning',

'qtprintsupport',

# 'qtqml',

# 'qtquick',

# 'qtquickwidgets',

'qtscript',

# 'qtscripttools'

# 'qtsensors',

# 'qtserialport',

# 'qtsql',

'qtsvg',

'qttest',

# 'qtwebchannel',

# 'qtwebengine', # qt 5.6 and higher

# 'qtwebenginecore',

# 'qtwebenginewidgets',

# 'qtwebkitwidgets', # qt 5.0 - 5.5

# 'qtwebsockets',

# 'qtx11extras',

'qtxml',

# 'qtxmlpatterns',

]

required_modules 正常繫結,但optional_modules 有些不能繫結。就乙個個遍歷,最後按上面注釋後,rqt_console,rqt_graph可用。

解決QT開發的exe軟體不能執行問題

困擾好幾天的問題,終於今天得到解決,心情很是激動,所以今晚特抽出一些時間寫一寫總結,希望其他人在遇到此類問題的時候少花一些時間,少走彎路。的現象,那怎麼解決呢?好吧,見證奇蹟的時刻,因為你所拷貝的檔案並不是執行所需要的動態庫檔案,有些是 bin,有些是 mingw bin,有些是 qt bin,那到...

解決Expresso不能執行的方法

expresso是一塊非常不錯的工具,安裝後用了一段時間感覺非常好。可是突然有一天,雙擊圖示後發現無法開啟,沒有任何反應。上網查詢解決辦法,發現網上關於expresso的資料並不是很多。然後向expresso的官方技術支援求助,支援方反饋的資訊如下 確認當前expresso的程序沒有執行,解除安裝程...

qt解決雙擊不能正常執行問題 win下)

我用的版本是qt5.1 首先按錯誤提示將所缺的dll拷貝到exe所在目錄,然後將libegl.dll release 或libegld.dll debug 拷貝到此目錄下,即可。將程式移植到別處,如果是debug版本,系統中可能缺失msvcp100d.dll,這個需要vs2010環境 我用的vs20...