Estou instalando o ROS da fonte e recebo um erro sobre o 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
Como podemos ver, o erro vem de subprocess.CalledProcessError: ...
.
Descobri que '/usr/share/sip/PyQt5' não existe.
Eu li Como instalar o PyQt para Python 3 no Ubuntu 14.10? mas não ajuda. Eu posso pip install pyqt4
e posso encontrar PyQt4
em /usr/share/sip/
.
Parece que o ROS está tentando encontrar PyQt5
em /usr/share/sip/
, como instalar PyQt5
?
Pergunte ao sistema de embalagem!
dá 66 resultados, incluindo
Leia
man apt
para ver como instalar esses pacotes, que podem resolver seu problema.Tendo altinstall'd Python 3.8.0 alpha 1, a abordagem simples não funcionou. Também compilando sip e, em seguida, PyQt5 deixou erros.
Então desisti por alguns dias.
Para completar meu projeto original, instalei o Python 3.7.2 com altinstall, o que permitiu a instalação pip bem-sucedida do PyQt5 e suas dependências.
Mas eu me perguntei, e se eu apenas copiasse todas as pastas PyQt5 Qt e sip de /usr/local/lib/python3.7/site-packages para /usr/local/lib/python3.8/site-packages ? Instalei o Python 3.8 limpo e, para minha surpresa, funcionou sem problemas durante a execução de um gui complexo.
Portanto, suspeito que isso possa ser extrapolado para: altinstall a distribuição Python mais próxima com um PyQt5 funcional e copiar todas as pastas PyQt5 e Qt5 para a nova.