Я хочу убедиться, что 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 версии 5.7.1 ». Средой IDE является« Thonny », на которой я запускаю« Python 3.5.3 ».
Вот что япопытался.
Исходники 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 было изменение сообщения об ошибке в pyqt5 на указанное выше. Перед обновлением libdrm сообщение об ошибке в pyqt5 было:
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.
Код из учебника:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
ZetCode PyQt5 tutorial
In this example, we create a simple
window in PyQt5.
Author: Jan Bodnar
Website: zetcode.com
Last edited: August 2017
"""
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_())
Ожидается: Создать окнопод названием «Простой» и не выдают никаких сообщений об ошибках в Python IDE.
Фактические результаты: Окно под названием «Простой» было создано, как и ожидалось.В Python IDE было выдано сообщение об ошибке.