2015-09-02 3 views
4

J'ai écrit une application Python3 qui utilise PyQt5 pour l'interface graphique, elle fonctionne bien sur tous les systèmes de bureau. Maintenant, je voudrais l'exécuter sur un linux intégré (en particulier: Yocto BSP) qui est livré par le fabricant du matériel. Comme il n'y a pas de paquet PyQt5 mais un paquet qt5 et python3 sur le BSP, je voudrais (en quelque sorte) faire un exécutable autonome de l'application. De plus, je n'ai pas l'habitude d'écrire des recettes de bitbake et de créer un BSP personnalisé et je n'ai trouvé aucune recette PyQt5 existante.Comment déployer une application Python PyQt5 sur un système Linux embarqué?

Ce que j'ai essayé jusqu'à présent (et n'a pas réussi):

  • Faire un exécutable autonome avec nuitka, cx-gel, pyinstaller (compilé sur une plate-forme de bras similaire)
  • Utilisez pyqtdeploy pour convertissez python en code source C++, puis compilez-le en utilisant l'environnement de construction fourni. J'ai fait une compilation statique des paquets pyqt5 et sip et tout compile bien, mais make signale des références indéfinies (erreurs de liens) que je ne peux pas résoudre (car je ne suis pas très familier avec C++).

Maintenant quelle est la meilleure approche pour laisser une application python/pyqt5 s'exécuter sur un système Linux embarqué avec des paquets très limités?

+1

Malheureusement pas la réponse que vous voulez ... Personnellement, je regarderais en ajoutant PyQt5 à ma propre couche. (Et plus tard en le soumettant à une couche ouverte appropriée). Il y a une recette 'python-pyqt' dans' meta-oe' qui pourrait être utile; bien qu'il existe des différences entre Qt4 et Qt5 dans OpenEmbedded/Yocto. – Anders

Répondre