python - rqt_plot:PyQt4 和 PyQt5 包装相同的对象类
问题描述
我正在尝试使用rqt_plot
ROS 的功能,每次打电话rqt_plot
我都会得到:
Traceback (most recent call last):
File "/opt/ros/kinetic/bin/rqt_plot", line 6, in <module>
from rqt_plot.plot import Plot
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/plot.py", line 43, in <module>
from .data_plot import DataPlot
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/data_plot/__init__.py", line 44, in <module>
from .pyqtgraph_data_plot import PyQtGraphDataPlot
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/data_plot/pyqtgraph_data_plot.py", line 46, in <module>
from pyqtgraph import __version__ as pyqtgraph_version
File "/usr/lib/python2.7/dist-packages/pyqtgraph/__init__.py", line 13, in <module>
from .Qt import QtGui
File "/usr/lib/python2.7/dist-packages/pyqtgraph/Qt.py", line 104, in <module>
from PyQt4 import QtGui, QtCore, uic
RuntimeError: the PyQt4.QtCore and PyQt5.QtCore modules both wrap the QObject class
我见过其他人通过卸载 Qt4 并仅使用 Qt5 来解决此问题,但我不完全确定为什么我会出现这个问题,因为我不相信我什至安装了 qt4。
调用pip3 uninstall pyqt4
返回:
Cannot uninstall requirement pyqt4, not installed
我该如何强制rqt_plot
使用 qt5 或者我应该怎么做?
这是 ROS 动力学和 ubuntu 16.04 LTS。
解决方案
您可能已经安装了 Qt4,以确保通过从命令行打开 python 并运行来检查:
from PyQt4.QtCore import QT_VERSION_STR
print(QT_VERSION_STR)
同样,您可以通过将 4 替换为 5 来检查 Qt5。但是,您需要先退出并重新启动 python。
推荐阅读
- mysql - Oozie 没有从 AWS EC2 实例中的 Mysql 开始
- python - dask groupby agg 加权平均“未知聚合 lambda”错误
- java - 无法使用 selenium 在 Mac 上的 safari 上执行并行执行
- pyspark - 从 Pyspark 数据帧将空白列写入 CSV,但这些列实际上并不是空白的,它可以在 pyspark-shell 中看到
- android - Qt 与 OpenSSL 和 gRPC 产生链接问题
- openlayers - Openlayers 功能创建问题
- c - 在两个相同的 Skylake Xeon Gold 6154 系统上测量到不同的内核间延迟
- c++ - 如何让 tesseract 识别这些字母数字字符串?
- javascript - 为什么继承函数创建的实例与父函数创建的实例不同?
- javascript - Body-Parser 不读取请求正文