Kivy: Kivy ne fonctionne pas sur Ubuntu 17.10

Créé le 24 oct. 2017  ·  40Commentaires  ·  Source: kivy/kivy

Versions

  • Python : 2.7 et 3.6
  • Système d'exploitation : Ubuntu 17.10
  • Kivy : 1,10
  • Méthode d'installation Kivy: PPA

Salut,
J'ai installé kivy dans Ubuntu 17.10 et je n'arrive pas à le faire fonctionner. J'ai essayé beaucoup de choses.
J'ai essayé avec Python 2 et 3, et aussi dans une machine virtuelle.

Avec cette application simple :

depuis l'application d'importation kivy.app
App().run()

Je reçois:

[INFO ] [Logger ] Enregistrez le journal dans /home/twistx77/.kivy/logs/kivy_17-10-21_1.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v3.6.3 (par défaut, 3 octobre 2017, 21:45:48)
[CCG 7.2.0]
Traceback (appel le plus récent en dernier) :
Fichier "/home/twistx77/temp/test.py", ligne 2, dans
depuis l'application d'importation kivy.app
Fichier "/usr/lib/python3/dist-packages/kivy/app.py", ligne 319, dans
à partir de kivy.base importer runTouchApp, stopTouchApp
Fichier "/usr/lib/python3/dist-packages/kivy/base.py", ligne 30, dans
depuis kivy.event importer EventDispatcher
Fichier "/usr/lib/python3/dist-packages/kivy/event.py", ligne 8, dans
importer kivy._event
ImportError : /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so : symbole non défini : PyFPE_jbuf

J'ai également vérifié que certaines personnes sur les forums avaient le même problème.

Commentaire le plus utile

@Twistx77

J'ai fait la même chose qu'avant avec python3.6 et cela fonctionne pour moi - j'ai désinstallé Cython et python3-kivy et installé à la fois Cython et kivy en utilisant pip (pas apt-get!) Dans les versions mentionnées ci-dessus. J'utilise Ubuntu 17.10

pip3 installer Cython==0.23
pip3 installer kivy==1.9.1

Tous les 40 commentaires

J'ai le même problème avec ubuntu 17.10 + kivy 1.10.
Kivy 1.9.1 + python 2.7.14 a une erreur différente tous ensemble. je reçois ce message d'erreur
[INFO ] [OSC ] using <multiprocessing> for socket [INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored) X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 4 (X_DestroyWindow) Resource id in failed request: 0x0 Serial number of failed request: 165 Current serial number in output stream: 166
des solutions s'il vous plait.
Pour info - Opensuse Tumbleweed fait la même chose. Kivy ne veut tout simplement pas courir

Moi aussi j'ai eu le même problème avec python 2.7.14, kivy 1.10.0 et ubuntu 17.10,

Même problème ici.

Utiliser la version Ubuntu 16.04 est une mauvaise solution de contournement, mais Kivy fonctionne !!

:-(

Cordiali SalutiFrancesco Cerone
tél.

2017-10-29 11:30 GMT":" Marcus Klein [email protected] :

Même problème ici.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/kivy/kivy/issues/5453#issuecomment-340252026 , ou couper le son
le fil
https://github.com/notifications/unsubscribe-auth/ALEi4VflNryMejJk8G34CBD--GnDkCyOks5sxFPTgaJpZM4QE60X
.

Je peux confirmer que j'ai les mêmes problèmes. Je n'ai pas encore trouvé de solution.

Description : Ubuntu 17.10
Sortie : 17.10

python3-kivy/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed]
python3-kivy-bin/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed,automatic]
python3-kivy-common/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed,automatic]

Je suis revenu à la version Kivy 1.9.1 fournie avec Ubuntu 17.10. De plus, j'ai dû basculer mon serveur d'affichage de Wayland vers Xorg. Lors de l'utilisation de Wayland, Kivy essaie de s'exécuter avec le pilote egl-rpi pour Raspberry Pi, ce qui n'a pas de sens sur un bureau amd64 normal.

J'ai le même problème lorsque j'essaie d'exécuter un exemple simple de kivy (rendu 3D). Kivy ne fonctionne pas

Version Ubuntu : 17.10


[INFO ] [Logger ] Enregistrez le journal dans /home/susheel/.kivy/logs/kivy_17-11-01_7.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v2.7.14 (par défaut, 23 septembre 2017, 22:06:14)
[CCG 7.2.0]
Traceback (appel le plus récent en dernier) :
Fichier "main.py", ligne 15, dans
depuis l'application d'importation kivy.app
Fichier "/usr/lib/python2.7/dist-packages/kivy/app.py", ligne 319, dans
à partir de kivy.base importer runTouchApp, stopTouchApp
Fichier "/usr/lib/python2.7/dist-packages/kivy/base.py", ligne 30, dans
depuis kivy.event importer EventDispatcher
Fichier "/usr/lib/python2.7/dist-packages/kivy/event.py", ligne 8, dans
importer kivy._event
ImportError : /usr/lib/python2.7/dist-packages/kivy/_event.x86_64-linux-gnu.so : symbole non défini : PyFPE_jbuf

Même problème ici

l'utilisateur parabolize sur irc a signalé un problème entre le bureau gnome et la version sdl2, et la prise en charge du multi-échantillonnage, pour ceux qui sont affectés par ce problème, l'une ou l'autre de ces solutions de contournement devrait fonctionner.

  • Utiliser un autre environnement de bureau
  • utiliser une version sdl2 between 2.0.5 and 2.0.6
  • désactiver le multisampling dans kivy (peut être fait en éditant ~/.kivy/config.ini et en définissant le multisampling sur 0)

Veuillez signaler si cela résout le problème pour vous, s'il s'agit de plusieurs bogues différents, nous devrions ouvrir des problèmes distincts.

J'ai essayé deux des ci-dessus:

  • désactiver le multisampling -> n'a pas fonctionné
  • installer un environnement de bureau différent (XFCE4) -> n'a pas fonctionné non plus

Même erreur signalée pour les deux.

Salut tshirtman,

Je peux confirmer le commentaire de necrolin.

  • désactiver le multisampling -> n'a pas fonctionné
  • installer un environnement de bureau différent (Deepin DE) -> n'a pas fonctionné non plus

De plus, j'ai essayé d'installer le package libsdl2-dev dans la version 2.06 et cela ne fonctionne pas non plus.

Joli surnom au fait haha.

Deux problèmes différents. Tchayo voir #5476

Je peux confirmer que la mise à zéro des multi -

@rroa C'est vraiment intéressant. J'ai essayé de remettre les multi-échantillons à zéro et j'ai également désactivé wayland, mais je vois toujours cette erreur sur une nouvelle installation d'Ubuntu 17.10 sous python 3. Donc, il doit y avoir autre chose de différent entre nos installations.

Encore une fois, nous parlons de deux problèmes différents. L'un est une erreur lors de l'importation de la boucle d'événement, l'autre est un problème sdl2 avec des paramètres non pris en charge (comme le multi-échantillonnage dans gnome). Si vous obtenez une erreur comme celle de Twistx77, vous êtes au bon endroit pour discuter de votre problème. Si vous avez une erreur comme Tchayo, allez au numéro 5476.

Je confirme que la solution par parabolize sur le problème #5476, résout le problème pour kivy 1.9.1 dans ubuntu 17.10

Ce que je ne comprends pas, c'est comment est-il possible que la même distribution avec la même version ait un problème sdl2 sur certaines machines et différent sur d'autres. Cela a-t-il quelque chose à voir avec les pilotes ou quelque chose du genre ? Les deux machines ne fonctionnent-elles pas exactement avec le même logiciel ?

je n'ai pas mis à niveau ou rétrogradé sdl2 tout ce que j'ai fait était ceci:
désactiver le multisampling dans kivy (peut être fait en éditant ~/.kivy/config.ini et en réglant le multisampling sur 0)
et cela a fonctionné, alors peut-être que le multisampling est le problème !!!?!
Pour info : cela ne fonctionnera que pour kivy 1.9.1..reportez-vous au numéro 5476

Le multi-échantillonnage a été interrompu dans de nombreux cas depuis que Kivy est passé de Pygame à SDL2, nous n'avons pas pu identifier le problème jusqu'à présent dans Kivy, et il peut également s'agir d'un bogue en amont dans SDL2. Voir https://github.com/kivy/kivy/issues/3576 par exemple.

J'ai également eu un problème avec une ancienne carte graphique, Pygame définissant les multi-échantillons sur 8 fonctionnait et avait un effet visible, tandis que la valeur maximale qui fonctionnait dans le même environnement avec SDL2 était de 4.

A eu le même problème. Trouvé que kivy v1.9.1 fonctionne avec Python v2.7.14, avec le multi-échantillonnage défini sur 0 dans ~/.kivy/config.ini , dans Ubuntu 17.10.

Merci @saubhik ça marche pour moi aussi !

Installé Cython==0.23 et kivy==1.9.1 et cela fonctionne. N'a pas changé de configuration.
Certaines dépendances requises ont probablement été installées par apt-get car je l'ai utilisé pour installer (la version non fonctionnelle de) python-kivy. J'ai ensuite supprimé Cython et python-kivy, puis installé les deux avec pip dans les versions mentionnées précédemment (Cython en premier).

Bonne chance

Je peux confirmer que la version 1.9.1 fonctionne bien avec python 2.7 mais cela ne fonctionne pas avec 3 même si cela ne renvoie pas la même erreur que celle que j'ai eue avec la 1.10.

Je viens d'essayer avec une nouvelle installation d'Ubuntu 17.10 et j'ai uniquement installé kivy avec le PPA fourni sur le site Web de kivy et installé juste ceci:

sudo apt-get install python-kivy=1.9.1-1build3

@Twistx77

J'ai fait la même chose qu'avant avec python3.6 et cela fonctionne pour moi - j'ai désinstallé Cython et python3-kivy et installé à la fois Cython et kivy en utilisant pip (pas apt-get!) Dans les versions mentionnées ci-dessus. J'utilise Ubuntu 17.10

pip3 installer Cython==0.23
pip3 installer kivy==1.9.1

Je ne sais pas s'il s'agit de quelque chose que j'ai installé ou simplement d'une mise à jour d'Ubuntu, mais maintenant j'obtiens la même erreur qu'avant.

Éditer:

Je l'ai fait fonctionner en 17.10 en compilant kivy comme indiqué par ZenCODE ici : https://groups.google.com/forum/#!topic/kivy -users/lRLfxp1Sywg

@ Twistx77 J'ai installé via pip dans un environnement virtuel (v1.9.1) et cela semble toujours fonctionner correctement même avec le système complètement à jour. Je suppose qu'il y a une sorte de conflit à l'origine de ce bogue sur votre ordinateur s'il a soudainement cessé de fonctionner pour vous.

Au fait, lors de la compilation, avez-vous réussi à faire fonctionner la version 1.10 ? Si c'est le cas, je vais tenter le coup aussi. J'ai essayé de compiler la semaine dernière (sans utiliser la solution ZenCODE évidemment) et cela n'a pas réussi à compiler pour moi.

J'ai fait fonctionner Kivy en l'installant manuellement et en utilisant l'ancien moteur de rendu pygame. Une solution de contournement je suppose.

A eu le même problème que Twistx77 sur kali light avec python 2.7.14 et kivy 1.10.0

J'ai suivi la solution

A eu le même problème sur Ubuntu 17.10.

Erreur:

/Layouts, custom widgets and attributes/stack/stack.py"
Purge log fired. Analysing...
Purge finished!
[INFO   ] [Logger      ] Record log in /home/geistic/.kivy/logs/kivy_18-02-11_88.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.3 (default, Oct  3 2017, 21:45:48)
[GCC 7.2.0]
/usr/bin/python3 "/home/geistic/Programming/python/Kivy/Layouts, custom widgets and attributes/stack/stack.py"
 Traceback (most recent call last):
   File "/home/geistic/Programming/python/Kivy/Layouts, custom widgets and attributes/stack/stack.py", line 4, in <module>
     from kivy.app import App
   File "/usr/lib/python3/dist-packages/kivy/app.py", line 319, in <module>
     from kivy.base import runTouchApp, stopTouchApp
   File "/usr/lib/python3/dist-packages/kivy/base.py", line 30, in <module>
     from kivy.event import EventDispatcher
   File "/usr/lib/python3/dist-packages/kivy/event.py", line 8, in <module>
     import kivy._event
 ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf

Tout semble fonctionner après la solution @BartoszCki , je peux confirmer. J'ai essayé d'installer à partir des référentiels officiels d'ubuntu et ensuite de Kivy, rien de tout cela n'a fonctionné.

Désinstallez tout :

sudo apt-get remove --purge python3-kivy
sudo pip3 uninstall cython kivy
sudo apt autoremove

Puis:

sudo pip3 install Cython==0.23
sudo pip3 install kivy==1.9.1

Fonctionne avec __Python 3.6.3 (par défaut, 3 octobre 2017, 21:45:48)__.

Je rencontre cela sur Ubuntu 17.10, mais je dépends de Kivy 1.10 à cause de RecycleView. Existe-t-il un moyen simple de forcer PyGame au lieu de SDL2 ? Est-ce que ça marcherait autour de ça ?

Y a-t-il quelqu'un avec une solution? Je dois vraiment utiliser Kivy sur Ubuntu 17.10 ?

Découvrez ceci : https://groups.google.com/forum/#!topic/kivy -users/lRLfxp1Sywg
C'est une solution partielle et ne convient pas à la production, mais à des fins éducatives semble fonctionner.

@ 0AlphaZero0 Bien que le PPA ne fonctionne peut-être pas sur 17.10 pour le moment, je peux l' installer via un environnement virtuel (voir les instructions sur le site Web de Kivy).

Construire et installer Kivy à partir de la source semble fonctionner sur Ubuntu 18.04, suivez simplement ce guide à partir de la documentation .

Tant pour Ubuntu 17.10 que pour Ubuntu 18.04, la recommandation actuellement (mai 2018) est d'installer à partir du PPA quotidien . La construction à partir de la source fonctionne également, comme l' a dit

Dans les commentaires ci-dessus, c'est déjà mentionné, juste pour réitérer : Sur Ubuntu 17.10, il y a un bogue dans une dépendance pour lequel la solution de contournement consiste à changer une valeur dans votre ~/.kivy/config.ini :

[graphics]
...
multisamples = 0

Confirmé ci-dessus, le correctif FONCTIONNE !

  1. apt-get supprimer python-kivvy cython
    (pour python3 c'est python3-kivvy et cython3)
  2. pip désinstaller kivvy
  3. pip désinstaller cython
  4. pip installer cython==0.23
  5. pip installer kivy==1.9.1

TRAVAUX !

Ubuntu 16.04.02
Python 2.7.11
pépin 10.0.1
cython 0,23
kivy 1.9.1

Lors de l'exécution de Debian, l'installation à partir du PPA fonctionne, mais l'erreur ci-dessus ("symbole non défini : PyFPE_jbuf") se produit. Cela vient du drapeau du compilateur "--with-fpectl" qui semble être activé dans Ubuntu 17.10 et Debian.
L'installation de kivy avec pip permet de contourner ce problème.

Travailler ici (exemple hello world):
[INFO ] [Kivy ] v1.10.1
[INFO ] [Python ] v3.6.6 (par défaut, 27 juin 2018, 14:44:17)
cython3 0.28.4-1 amd64 C-Extensions pour Python 3
Linux 4.15.0-3-amd64 #1 SMP Debian 4.15.17-1 (2018-04-19) x86_64 GNU/Linux

Confirmé ci-dessus, le correctif FONCTIONNE !

  1. apt-get supprimer python-kivvy cython
    (pour python3 c'est python3-kivvy et cython3)
  2. pip désinstaller kivvy
  3. pip désinstaller cython
  4. pip installer cython==0.23
  5. pip installer kivy==1.9.1

TRAVAUX !

Ubuntu 16.04.02
Python 2.7.11
pépin 10.0.1
cython 0,23
kivy 1.9.1

Impossible d'installer kivy 1.9.1, j'ai opté pour la 1.10.1 et fonctionnait toujours ! Merci!

Les pensées

J'ai confirmé la même erreur sur Debian Buster :

ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf

Il est un peu décevant de constater que les instructions d'installation standard ne fonctionnent tout simplement pas, en particulier lorsque le bogue a été signalé il y a plus d'un an et que la solution consiste à abandonner les instructions d'installation et à faire quelque chose de complètement différent. Une modification des instructions d'installation aurait pu être appropriée ici. </rant> _et excuses d'avoir été direct_

Cause probable

Je pense que c'est un problème d'emballage. Il semble qu'il n'y ait rien de mal avec le code, mais le processus de construction et d'empaquetage dans un fichier *.deb est interrompu. L'erreur indique une compilation avec une version différente d'un *.so à celle qui est exécutée.

Le fait que apt-get ne parvienne pas à installer une version de travail et que pip install soit correct (voir

  • le processus de génération utilise un système d'exploitation plus ancien et n'est pas configuré pour créer plusieurs versions là où les systèmes d'exploitation plus récents ont des bibliothèques plus récentes installées.
  • le processus de construction utilise un environnement de configuration pip install dans la croyance erronée qu'il fonctionnera contre une configuration apt-get .

Solution alternative

Si vous n'aimez pas l'approche consistant à utiliser pip install _(les gens ont leurs raisons)_ alors il est possible de construire kivy à partir des sources sans jamais toucher à pip install .
Par exemple pour python3 :

apt-get install python3
apt-get install cython3
# Results may vary for GL.  Find the package with: apt-cache search libgl1 dev
apt-get install libgl1-mesa-dev
apt-get install libgstreamer1.0-dev
apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev
# I'm happy to edit in additional dependencies if you find them

git clone https://github.com/kivy/kivy.git
cd kivy python3 setup.py build_ext --inplace

Le PPA a été mis à jour et s'appuie au moins sur toutes les versions les plus récentes du système d'exploitation disponibles. 17 ne semble pas être répertorié comme une option de construction (https://code.launchpad.net/~kivy-team/+recipe/kivy-stable/) donc je ne suis pas vraiment sûr de ce que nous pouvons faire à ce sujet.

Il est un peu décevant de constater que les instructions d'installation standard ne fonctionnent tout simplement pas

Il s'agit d'un projet communautaire, et nous n'avons pas les ressources pour le tester sur chaque configuration de système d'exploitation. Les relations publiques de la communauté pour corriger nos recettes de construction sont toujours les bienvenues.

Pour ce que ça vaut, je le vois sur une plate-forme Raspbian qui vient de subir une mise à niveau de Raspbian Stretch vers Raspbian Buster.

L'erreur sous-jacente implique ce qui est décrit ici concernant un indicateur FPECTL tel qu'il est défini dans Cython. Plus précisément, c'est la meilleure description que j'ai lu jusqu'à présent de ce qui se passe. Voici plus d'informations sur le module de contrôle des exceptions à virgule flottante.

Remarque Le module fpectl n'est pas construit par défaut, et son utilisation est déconseillée et peut être dangereuse sauf entre les mains d'experts. Voir aussi la section Limitations et autres considérations sur les limitations pour plus de détails.

Donc, si je veux maintenant voir s'il est activé/désactivé pour mon propre environnement virtuel :

(oprint) $ python
Python 2.7.16 (default, Apr  6 2019, 01:42:57) 
[GCC 8.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import fpectl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named fpectl

D'accord, je peux voir que le drapeau n'a pas été activé lors de la compilation (de Cython, vraisemblablement). Techniquement, je pense que nous parlons du dossier cpython sous le Includes l'installation de Cython ici dans mon environnement virtuel.

En ce qui concerne l'analyse de ce qui se passe, je dois supposer que quelque chose dans Kivy 1.10.1 dans ce cas a été compilé avec ce drapeau activé et mon instance l'a désactivé. (Tous ces soi-disant « corrections » sur Internet en rapport avec cette erreur semblent être de nombreuses tentatives aléatoires pour finalement trouver une correspondance entre OFF/OFF ou ON/ON par rapport à ce drapeau. )

Je note qu'auparavant, j'avais tenté d'installer numpy mais pour une raison quelconque, cela n'a pas fonctionné. De nombreux problèmes semblent être associés à ce module car il active probablement ce drapeau car il est gourmand en mathématiques.

Ma propre erreur comme vu est la suivante:

ImportError: /home/pi/oprint/local/lib/python2.7/site-packages/kivy/_event.so: undefined symbol: PyFPE_jbuf

En d'autres termes, lors de l'étape de compilation de Kivy avec cython (via pip install kivy ), le fichier binaire _event.so maintenant les wrappers FPECTL autour d'une ou plusieurs de ses fonctions. Et pourtant je constate que ce flag semble être OFF pour mon installation.

L'un des plus gros problèmes auxquels j'ai été confronté était que pip essayait de réutiliser ses versions en cache ou de réutiliser des roues précédemment compilées pour l'un ou l'autre.

Travaux:

pip uninstall kivy
pip uninstall cython
pip install --force-reinstall --no-cache-dir cython==0.28.2
pip install --force-reinstall --no-cache-dir kivy==1.10.1

L'exécution d'un grep -r . -e 'FPE' dans le dossier site-packages pour l'environnement virtuel me montre ENFIN qu'aucun fichier *.so lié fpectl dans le fichier compilé. déposer.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sbrother picture sbrother  ·  4Commentaires

davied9 picture davied9  ·  4Commentaires

damienflament picture damienflament  ·  3Commentaires

anas1434 picture anas1434  ·  4Commentaires

phelantomas picture phelantomas  ·  5Commentaires