我正在从源代码安装 ROS 并收到有关 PyQt5 的错误。
[ 88%] Running SIP generator for qt_gui_cpp_sip Python bindings...
sip: Deprecation warning: qt_gui_cpp.sip:1: %Module version number should be specified using the 'version' argument
sip: Unable to find file "QtCore/QtCoremod.sip"
Traceback (most recent call last):
File "/home/zyh/ros_catkin_ws/install_isolated/share/python_qt_binding/cmake/sip_configure.py", line 80, in <module>
subprocess.check_call(cmd)
File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/sip', '-c', '/home/zyh/ros_catkin_ws/build_isolated/qt_gui_cpp/sip/qt_gui_cpp_sip', '-b', '/home/zyh/ros_catkin_ws/build_isolated/qt_gui_cpp/sip/qt_gui_cpp_sip/pyqtscripting.sbf', '-I', '/usr/share/sip/PyQt5', '-w', '-x', 'VendorID', '-t', 'WS_X11', '-t', 'Qt_5_9_1', '-x', 'Py_v3', 'qt_gui_cpp.sip']' returned non-zero exit status 1
src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/build.make:89: recipe for target 'sip/qt_gui_cpp_sip/Makefile' failed
make[2]: *** [sip/qt_gui_cpp_sip/Makefile] Error 1
如我们所见,错误来自subprocess.CalledProcessError: ...
.
我发现 '/usr/share/sip/PyQt5' 不存在。
我已阅读如何在 Ubuntu 14.10 中为 Python 3 安装 PyQt?但这无济于事。我可以pip install pyqt4
而且我可以PyQt4
在/usr/share/sip/
.
好像是ROS在找PyQt5
,/usr/share/sip/
怎么安装PyQt5
?
询问包装系统!
给出 66 个结果,包括
阅读
man apt
以了解如何安装这些软件包,这可能会解决您的问题。altinstall'd Python 3.8.0 alpha 1 这个简单的方法不起作用。还编译 sip & 然后 PyQt5 留下错误。
所以我放弃了几天。
为了完成我的原始项目,我 altinstall'd Python 3.7.2 允许成功 pip 安装 PyQt5 及其依赖项。
但我想知道,如果我只是将所有 PyQt5 Qt 和 sip文件夹从 /usr/local/lib/python3.7/site-packages 复制到 /usr/local/lib/python3.8/site-packages 怎么办?我干净地安装了 Python 3.8,令我惊讶的是,它在运行复杂的 gui 时没有问题。
所以我怀疑这可以推断为:altinstall 使用工作 PyQt5 的最近的 Python 发行版,并将所有 PyQt5 和 Qt5 文件夹复制到新文件夹。