Я хочу убедиться, что pyqt5 работает правильно на моем Raspberry Pi. Когда я пытаюсь запустить учебник, создающий простое окно, код дает желаемые результаты, но выдается сообщение об ошибке. Обсуждаемое руководство взято с http://zetcode.com/gui/pyqt5/firstprograms/. Код учебника включен в конце этого поста.
Я получаю сообщение об ошибке:
MESA-LOADER: device is not located on the PCI bus
MESA-LOADER: device is not located on the PCI bus
MESA-LOADER: device is not located on the PCI bus
qt5ct: using qt5ct plugin
inotify_add_watch("/home/pi/.config/qt5ct") failed: "No such file or directory"
Операционная система - «Raspbian GNU/Linux 9 (stretch)», на которой я установил «Qt version 5.7.1». IDE - это «Thonny», на котором я запускаю «Python 3.5.3».
Я установил pyqt5, запустив следующий код:
sudo apt-get update
sudo apt-get install qt5-default pyqt5-dev pyqt5-dev-tools
Вот что я попробовал.
Источники https://raspberrypi.stackexchange.com/questions/84703/qcamera-get-error-mesa-loader-failed-to-retrieve-device-information и https://github.com/RPi-Distro/repo/ Issues /89 предложил обновить libdrm.
Я обновил libdrm, используя эти инструкции https://github.com/anholt/mesa/wiki/VC4-complete-Raspbian-upgrade#libdrm. Я проигнорировал инструкции перед разделом libdrm. Я смог обновить libdrm без сообщений об ошибках. Результатом было изменение сообщения об ошибке на указанное выше. Перед обновлением libdrm сообщение об ошибке было:
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
qt5ct: using qt5ct plugin
inotify_add_watch("/home/pi/.config/qt5ct") failed: "No such file or directory"
Поэтому обновление libdrm изменило «не удалось получить информацию об устройстве» на «устройство не находится на шине PCI».
Я хотел обновить Mesa до последней версии. Для этого я хотел проверить текущую версию Mesa, используя следующий вход терминала:
glxinfo | grep "OpenGL version"
Выход был:
libGL error: MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
OpenGL version string: 2.1 Mesa 13.0.6
Это показало мне, что я использую Mesa версии 13.0.6, а самая последняя версия - 19.0.0. Я попытался обновить Mesa, используя следующие инструкции: https://github.com/anholt/mesa/wiki/VC4-complete-Raspbian-upgrade#mesa. Я проигнорировал инструкции перед разделом Mesa. Код выполнялся без сообщений об ошибках вплоть до команды «make», где было выдано следующее сообщение об ошибке:
make: *** No targets specified and no makefile found. Stop.
Даже знание того, где копать глубже, очень помогло бы мне. Стоит ли искать переустановку pyqt5 или сосредоточиться в основном на Mesa?
Код:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())