Kivy: Kivy no funciona en Ubuntu 17.10

Creado en 24 oct. 2017  ·  40Comentarios  ·  Fuente: kivy/kivy

Versiones

  • Python: 2.7 y 3.6
  • SO: Ubuntu 17.10
  • Kivy: 1,10
  • Método de instalación de Kivy: PPA

Hola,
He instalado kivy en Ubuntu 17.10 y parece que no puedo hacerlo funcionar. He intentado muchas cosas.
Lo he probado con Python 2 y 3, y también en una máquina virtual.

Con esta sencilla aplicación:

desde la aplicación de importación kivy.app
Aplicación (). Ejecutar ()

Yo obtengo:

[INFO] [Logger] Registro de inicio de sesión /home/twistx77/.kivy/logs/kivy_17-10-21_1.txt
[INFO] [Kivy] v1.10.0
[INFO] [Python] v3.6.3 (predeterminado, 3 de octubre de 2017, 21:45:48)
[GCC 7.2.0]
Rastreo (llamadas recientes más última):
Archivo "/home/twistx77/temp/test.py", línea 2, en
desde la aplicación de importación kivy.app
Archivo "/usr/lib/python3/dist-packages/kivy/app.py", línea 319, en
desde kivy.base importar runTouchApp, stopTouchApp
Archivo "/usr/lib/python3/dist-packages/kivy/base.py", línea 30, en
desde kivy.event importar EventDispatcher
Archivo "/usr/lib/python3/dist-packages/kivy/event.py", línea 8, en
importar kivy._event
ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: símbolo indefinido: PyFPE_jbuf

También he verificado que algunas personas en foros tienen el mismo problema.

Comentario más útil

@ Twistx77

Hice lo mismo que antes con python3.6 y me funciona: desinstalé Cython y python3-kivy e instalé Cython y kivy usando pip (¡no apt-get!) En las versiones mencionadas anteriormente. Estoy usando Ubuntu 17.10

pip3 instalar Cython == 0.23
pip3 instalar kivy == 1.9.1

Todos 40 comentarios

Tengo el mismo problema con ubuntu 17.10 + kivy 1.10.
Kivy 1.9.1 + python 2.7.14 tiene un error diferente todos juntos. Recibo este mensaje de error
[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
soluciones por favor.
FYI - Opensuse Tumbleweed hace lo mismo. Kivy simplemente no corre

Yo también tuve el mismo problema con python 2.7.14, kivy 1.10.0 y ubuntu 17.10,

El mismo problema aqui.

Usar la versión Ubuntu 16.04 es una mala solución, ¡pero Kivy funciona!

:-(

Cordiali Saluti Francesco Cerone
tel.

2017-10-29 11:30 GMT + 01: 00 Marcus Klein [email protected] :

El mismo problema aqui.

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/kivy/kivy/issues/5453#issuecomment-340252026 , o silenciar
la amenaza
https://github.com/notifications/unsubscribe-auth/ALEi4VflNryMejJk8G34CBD--GnDkCyOks5sxFPTgaJpZM4QE60X
.

Puedo confirmar que tengo los mismos problemas. Todavía no he encontrado una solución.

Descripción: Ubuntu 17.10
Lanzamiento: 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]

Volví a la versión 1.9.1 de Kivy proporcionada con Ubuntu 17.10. Además, tuve que cambiar mi servidor de pantalla de Wayland a Xorg. Al usar Wayland, Kivy intenta ejecutarse con el controlador egl-rpi para Raspberry Pi, lo que no tiene sentido en un escritorio amd64 normal.

Tengo el mismo problema cuando intento ejecutar un ejemplo de kivy simple (renderizado 3D). Kivy no está funcionando

Versión de Ubuntu: 17.10


[INFO] [Logger] Registro de inicio de sesión /home/susheel/.kivy/logs/kivy_17-11-01_7.txt
[INFO] [Kivy] v1.10.0
[INFO] [Python] v2.7.14 (predeterminado, 23 de septiembre de 2017, 22:06:14)
[GCC 7.2.0]
Rastreo (llamadas recientes más última):
Archivo "main.py", línea 15, en
desde la aplicación de importación kivy.app
Archivo "/usr/lib/python2.7/dist-packages/kivy/app.py", línea 319, en
desde kivy.base importar runTouchApp, stopTouchApp
Archivo "/usr/lib/python2.7/dist-packages/kivy/base.py", línea 30, en
desde kivy.event importar EventDispatcher
Archivo "/usr/lib/python2.7/dist-packages/kivy/event.py", línea 8, en
importar kivy._event
ImportError: /usr/lib/python2.7/dist-packages/kivy/_event.x86_64-linux-gnu.so: símbolo indefinido: PyFPE_jbuf

el mismo problema aqui

el usuario parabolize en irc informó un problema entre el escritorio de gnome y la versión sdl2, y el soporte de muestreo múltiple, para los afectados por este problema, cualquiera de estas soluciones debería funcionar.

  • Utilice otro entorno de escritorio
  • usar una versión sdl2 between 2.0.5 and 2.0.6
  • deshabilitar el multimuestreo en kivy (se puede hacer editando ~ / .kivy / config.ini y configurando el multimuestreo en 0)

Informe si solucionó el problema por usted, si se trata de varios errores diferentes, deberíamos abrir problemas separados.

Probé dos de los anteriores:

  • deshabilitar el multimuestreo -> no funcionó
  • instalar un entorno de escritorio diferente (XFCE4) -> tampoco funcionó

Se informó el mismo error para ambos.

Hola tshirtman,

Puedo confirmar el comentario de Necrolin.

  • deshabilitar el multimuestreo -> no funcionó
  • instalar un entorno de escritorio diferente (Deepin DE) -> tampoco funcionó

Además, he intentado instalar el paquete libsdl2-dev en la versión 2.06 y tampoco funciona.

Buen apodo por cierto jaja.

Dos cuestiones distintas. Tchayo ver # 5476

Puedo confirmar que convertir multimuestras a cero funcionó en Ubuntu 17.10. Anteriormente había desactivado wayland, pero no creo que haya hecho una diferencia ya que tuve el error antes de cambiar la opción _config.ini_.

@rroa Eso es realmente interesante. Intenté convertir multimuestras a cero && también desactivado wayland, sin embargo, sigo viendo este error en una instalación nueva de Ubuntu 17.10 bajo python 3. Por lo tanto, debe haber algo más diferente entre nuestras instalaciones.

Nuevamente estamos hablando de dos temas diferentes. Uno es un error al importar el bucle de eventos, el otro es un problema sdl2 con configuraciones no compatibles (como muestreo múltiple en gnome). Si recibe un error como el que tiene Twistx77, entonces está en el lugar correcto para discutir su problema. Si tiene un error como Tchayo, vaya al número 5476.

Confirmo que la solución de parabolize en el problema # 5476, resuelve el problema de kivy 1.9.1 en ubuntu 17.10

Lo que no entiendo es cómo es posible que la misma distribución con la misma versión tenga problemas sdl2 en alguna máquina y diferente en otras. ¿Tiene algo que ver con los conductores o algo así? ¿No funcionan ambas máquinas exactamente con el mismo software?

No actualicé ni degradé sdl2, todo lo que hice fue esto:
deshabilitar el multimuestreo en kivy (se puede hacer editando ~ / .kivy / config.ini y settinworg multisampling en 0)
y funcionó, así que tal vez el multimuestreo sea el problema !!?!
Para su información: esto solo funcionará para kivy 1.9.1 .. consulte el número 5476

El multimuestreo se ha roto en muchos casos desde que Kivy pasó de Pygame a SDL2, no pudimos identificar el problema hasta ahora en Kivy y también puede ser un error en SDL2. Consulte https://github.com/kivy/kivy/issues/3576, por ejemplo.

También tuve un problema con una tarjeta gráfica más antigua, con Pygame configurando multimuestras en 8 funcionó y tuvo un efecto visible, mientras que el valor máximo que funcionó en el mismo entorno con SDL2 fue 4.

Tuve el mismo problema. Descubrí que kivy v1.9.1 funciona con Python v2.7.14, con el multimuestreo establecido en 0 en ~ / .kivy / config.ini, en Ubuntu 17.10.

Gracias @saubhik , ¡a mí también me funciona!

Instaló Cython == 0.23 y kivy == 1.9.1 y funciona. No cambió la configuración.
Algunas dependencias requeridas probablemente fueron instaladas por apt-get, ya que lo usé para instalar (no la versión funcional de) python-kivy. Luego eliminé Cython y python-kivy y luego instalé ambos con pip en las versiones mencionadas anteriormente (Cython primero).

Buena suerte

Puedo confirmar que 1.9.1 funciona bien con Python 2.7, pero no funciona con 3 a pesar de que no arroja el mismo error que tuve con 1.10.

Intenté con la nueva instalación de Ubuntu 17.10 y solo instalé kivy con el PPA provisto en el sitio web de kivy e instalé solo esto:

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

@ Twistx77

Hice lo mismo que antes con python3.6 y me funciona: desinstalé Cython y python3-kivy e instalé Cython y kivy usando pip (¡no apt-get!) En las versiones mencionadas anteriormente. Estoy usando Ubuntu 17.10

pip3 instalar Cython == 0.23
pip3 instalar kivy == 1.9.1

No sé si es algo que instalé o simplemente una actualización de Ubuntu, pero ahora recibo el mismo error que antes.

Editar:

Lo hice funcionar en 17.10 compilando kivy según las instrucciones de ZenCODE aquí: https://groups.google.com/forum/#!topic/kivy -users / lRLfxp1Sywg

@ Twistx77 Lo instalé a través de pip en un entorno virtual (v1.9.1) y todavía parece funcionar bien incluso con el sistema completamente actualizado. Supongo que hay algún tipo de conflicto que causa este error en su computadora si de repente deja de funcionar para usted.

Por cierto, al compilar, ¿consiguió que funcionara la versión 1.10? Si es así, también lo intentaré. Intenté compilar la semana pasada (sin usar la solución ZenCODE obviamente) y no pudo compilar para mí.

Conseguí que kivy funcionara instalándolo manualmente y usando el antiguo renderizador de pygame. Una solución, supongo.

Tenía el mismo problema que Twistx77 en kali light con python 2.7.14 y kivy 1.10.0

Siguió la solución de BartoszCki y la puso a funcionar.

Tuvo el mismo problema en Ubuntu 17.10.

Error:

/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

Todo parece funcionar después de la solución @BartoszCki , puedo confirmar. Intenté instalar desde repositorios oficiales de ubuntu y luego desde kivy, nada funcionó.

Desinstala todo:

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

Luego:

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

Funciona con __Python 3.6.3 (predeterminado, 3 de octubre de 2017, 21:45:48) __.

Me estoy encontrando con esto en ubuntu 17.10, pero dependo de Kivy 1.10 debido a RecycleView. ¿Existe una manera fácil de forzar PyGame en lugar de SDL2? ¿Eso funcionaría a su alrededor?

¿Hay alguien con una solución? ¿Realmente tengo que usar kivy en ubuntu 17.10?

Mira esto: https://groups.google.com/forum/#!topic/kivy -users / lRLfxp1Sywg
Esta es una solución parcial y no es apropiada para la producción, pero para fines educativos parece estar funcionando.

@ 0AlphaZero0 Mientras que la PPA no puede estar trabajando en 17.10 en este momento, estoy en condiciones de instalar a través de entorno virtual (ver instrucciones del sitio web Kivy).

La construcción e instalación de Kivy desde las costuras de origen para que funcione en Ubuntu 18.04 solo tiene que seguir esta guía de los documentos .

Tanto para Ubuntu 17.10 como para Ubuntu 18.04, la recomendación actual (mayo de 2018) es instalar desde el PPA diario . La construcción desde la fuente también funciona, como dijo @OBKF .

En los comentarios anteriores ya se mencionó, solo para reiterar: en Ubuntu 17.10 hay un error en una dependencia para la cual la solución es cambiar un valor en su ~/.kivy/config.ini :

[graphics]
...
multisamples = 0

Confirmado arriba, arreglo ¡FUNCIONANDO!

  1. apt-get eliminar python-kivvy cython
    (para python3 es python3-kivvy y cython3)
  2. pip desinstalar kivvy
  3. pip desinstalar cython
  4. pip install cython == 0.23
  5. pip instalar kivy == 1.9.1

OBRAS !

Ubuntu 16.04.02
Python 2.7.11
pip 10.0.1
cython 0.23
kivy 1.9.1

Cuando se ejecuta Debian, la instalación desde el PPA funciona, pero aparece el error anterior ("símbolo indefinido: PyFPE_jbuf"). Esto proviene del indicador del compilador "--with-fpectl" que parece estar habilitado en Ubuntu 17.10 y Debian.
La instalación de kivy con pip soluciona este problema.

Trabajando aquí (ejemplo de hola mundo):
[INFO] [Kivy] v1.10.1
[INFO] [Python] v3.6.6 (predeterminado, 27 de junio de 2018, 14:44:17)
cython3 0.28.4-1 amd64 C-Extensiones para Python 3
Linux 4.15.0-3-amd64 # 1 SMP Debian 4.15.17-1 (2018-04-19) x86_64 GNU / Linux

Confirmado arriba, arreglo ¡FUNCIONANDO!

  1. apt-get eliminar python-kivvy cython
    (para python3 es python3-kivvy y cython3)
  2. pip desinstalar kivvy
  3. pip desinstalar cython
  4. pip install cython == 0.23
  5. pip instalar kivy == 1.9.1

OBRAS !

Ubuntu 16.04.02
Python 2.7.11
pip 10.0.1
cython 0.23
kivy 1.9.1

¡No se pudo instalar kivy 1.9.1, fui con 1.10.1 y aún funcionó! ¡Gracias!

Pensamientos

Confirmé el mismo error en Debian Buster:

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

Es un poco decepcionante para encontrar que la instalación estándar instrucciones simplemente no hacer el trabajo, sobre todo cuando el error se informó hace más de un año y el trabajo alrededor es abandonar las instrucciones de instalación y hacer algo completamente diferente. Un cambio en las instrucciones de instalación podría haber sido apropiado aquí. </rant> _y disculpas por ser franco_

Causa probable

Creo que este es un problema de empaque. Parece que no hay nada de malo en el código, pero el proceso de construcción y empaquetado en un archivo *.deb está roto. El error indica que se ha compilado con una versión diferente de *.so a la que se está ejecutando.

El hecho de que apt-get no instale una versión funcional y pip install está bien (vea el trabajo de fath0m ) me lleva a dos teorías _tentative_:

  • el proceso de compilación utiliza un sistema operativo más antiguo y no está configurado para crear varias versiones donde los sistemas operativos más nuevos tienen bibliotecas más nuevas instaladas.
  • el proceso de construcción está utilizando un entorno de configuración pip install con la creencia errónea de que funcionará contra una configuración apt-get .

Arreglo alternativo

Si no le gusta el enfoque de usar pip install _ (la gente tiene sus razones) _ entonces es posible construir kivy desde la fuente sin tocar pip install .
Por ejemplo para 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

El PPA se ha actualizado y al menos se basa en todas las versiones más nuevas del sistema operativo que están disponibles para ser construido. 17 no parece figurar en la lista como una opción de compilación (https://code.launchpad.net/~kivy-team/+recipe/kivy-stable/), por lo que no estoy seguro de qué podemos hacer al respecto.

Es un poco decepcionante descubrir que las instrucciones de instalación estándar simplemente no funcionan

Este es un proyecto de la comunidad y no tenemos los recursos para probarlo en todas las configuraciones del sistema operativo. Los RP de la comunidad para arreglar nuestras recetas de compilación siempre son bienvenidos.

Por lo que vale, estoy viendo esto en una plataforma Raspbian que acaba de experimentar una actualización de Raspbian Stretch a Raspbian Buster.

El error subyacente involucra lo que se describe aquí con respecto a una bandera FPECTL como se establece en Cython. Específicamente, esta es la mejor descripción que he leído hasta ahora de lo que está sucediendo. Aquí hay más información sobre el módulo de control de excepciones de punto flotante.

Nota El módulo fpectl no está construido por defecto, y su uso está desaconsejado y puede ser peligroso excepto en manos de expertos. Consulte también la sección Limitaciones y otras consideraciones sobre las limitaciones para obtener más detalles.

Entonces, si ahora quiero ver si está ENCENDIDO / APAGADO para mi propio entorno virtual:

(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

De acuerdo, puedo ver que la bandera no se activó durante la compilación (de Cython, presumiblemente). Técnicamente, creo que estamos hablando de la carpeta cpython debajo de Includes la instalación de Cython aquí en mi entorno virtual.

En cuanto al análisis de lo que está sucediendo, debo asumir que algo en Kivy 1.10.1 en este caso se compiló con esa bandera encendida y mi instancia la tiene apagada. (Todos estos supuestos "arreglos" en Internet en relación con este error parecen ser muchos intentos aleatorios y fallidos de finalmente encontrar una coincidencia de APAGADO / APAGADO o ENCENDIDO / ENCENDIDO con respecto a esa bandera. )

Observo que antes había intentado instalar numpy pero por cualquier motivo no funcionó. Muchos problemas parecen estar asociados con este módulo, ya que probablemente activa este indicador, ya que es intensivo en matemáticas.

Mi propio error como se ve es este:

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

En otras palabras, durante el paso de compilación de Kivy con cython (a través de pip install kivy ), el archivo binario _event.so ahora tiene los envoltorios FPECTL alrededor de una o más de sus funciones. Y, sin embargo, noto que esta bandera parece estar DESACTIVADA para mi instalación.

Uno de los mayores problemas que enfrenté fue que pip intentaba reutilizar sus versiones en caché o reutilizar ruedas compiladas previamente para cualquiera de ellas.

Obras:

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

Ejecutar un grep -r . -e 'FPE' en la carpeta site-packages para el entorno virtual FINALMENTE me muestra que ningún archivo *.so relacionado con Kivy incluye ese molesto envoltorio de bandera fpectl en el compilado expediente.

¿Fue útil esta página
0 / 5 - 0 calificaciones