Я хочу убедиться, что 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_())

0