Установка QtQml в Raspberry pi

Я застрял с одной ошибкой при сборке PyQt5 для Rasberry Pi. Я успешно смог запустить приложение, которое использует QQmlApplicationEngine на рабочем столе Windows. Теперь я хотел запустить то же приложение в Raspberry pi 3. Я собираю PyQt5 (5.4.1v) из исходного кода и пытался запустить приложение, но получаю ошибку:

Ошибка импорта: модуль не найден "PyQt5.QtQml".

Я понял, что когда я собираю PyQt5 из исходного кода, я получаю:

Ошибка проекта: неизвестные модули в QT: qml

и показывает мне список модулей, которые будут построены.

Просто для справки, я использую raspbian и установил следующее перед сборкой PyQt5.

sudo apt-get update

sudo apt-get установить qtcreator

sudo apt-get установить qt5-qmake

добавил "export QT_SELECT = qt5" в мои "~/.profile" и "~ /.bashrc"

sudo apt-get установить qt5-default qt5-qmake qtbase5-dev-tools qttools5-dev-tools build-существенно libboost-dev libboost-system-dev libboost-filesystem-dev libboost-параметры-программы-dev libboost-thread-dev libssl-dev libdb++-dev libgl1-mesa-dev

Как я должен установить QtQml в PyQt5? Пожалуйста помоги...

Заранее спасибо.

1 ответ

Решение

PyQt5 - это (как вы, возможно, знаете) просто оболочка для библиотек Qt C++. Для использования определенного модуля в PyQt5 должна быть установлена ​​базовая библиотека C++.

Первое сообщение об ошибке показывает, что PyQt5.QtQml отсутствует модуль, что, соответственно, приводит к выводу, что базовая оболочка Python отсутствует.

Второе сообщение об ошибке, вероятно, генерируется на уровне C++ и означает, что необходимая библиотека Qt C++ для этого модуля отсутствует.

Поскольку вы собираете PyQt5, вам нужны не только библиотеки времени выполнения, но и пакеты разработки для Qt. Для QML вам нужен qtdeclerative5-dev пакет и libqt5qml5 (Я думаю, что это было название для библиотеки времени выполнения). Это, конечно, зависит от множества других пакетов, которые будут автоматически установлены.

PS: Не забывайте библиотеку SIP, которую PyQt имеет в качестве зависимости, независимо от того, какие модули Qt вы хотите использовать.

Другие вопросы по тегам