Kivy: Python 3.8, 3.9 soporte

Creado en 1 abr. 2020  ·  25Comentarios  ·  Fuente: kivy/kivy

¿Su solicitud de función está relacionada con un problema?
¡Kivy es tan maravilloso para mí! Pero estoy frustrado de que no haya una rueda para Python 3.8 y 3.9

Describe la solución que te gustaría
Haga que las ruedas python3.8 y 3.9 estén disponibles para pip.

Describe las alternativas que has considerado
ninguno

Contexto adicional
ninguno

Comentario más útil

Desafortunadamente, no tenemos ruedas para Python 3.8 para nuestra versión estable. Lo intentamos, pero ya no tenemos las cosas configuradas para generarlas.

Sin embargo, si está dispuesto a usar master, hay ruedas perfectamente buenas disponibles para 3.8 y, de hecho, la instalación se ha simplificado significativamente. La clave es que en el paso 2 use pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/ para obtener kivy de nuestro servidor porque no está disponible en pypi.

Para agregarlos a pypi, necesitaremos hacer una nueva versión, pero parece que eso no está en las tarjetas en este momento.

Todos 25 comentarios

Por curiosidad, ¿la instalación desde el código fuente funciona con Python 3.8?

Uh, no lo he intentado. 😄

Desafortunadamente, no tenemos ruedas para Python 3.8 para nuestra versión estable. Lo intentamos, pero ya no tenemos las cosas configuradas para generarlas.

Sin embargo, si está dispuesto a usar master, hay ruedas perfectamente buenas disponibles para 3.8 y, de hecho, la instalación se ha simplificado significativamente. La clave es que en el paso 2 use pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/ para obtener kivy de nuestro servidor porque no está disponible en pypi.

Para agregarlos a pypi, necesitaremos hacer una nueva versión, pero parece que eso no está en las tarjetas en este momento.

@matham, ¿qué está frenando la realización de un nuevo lanzamiento?

El tiempo y el esfuerzo del desarrollador que falta en este momento.

entonces como arreglarlo

Si alguien aún no puede instalar Kivy para python 3.8 en el sistema operativo Windows , sugiero descargarlo de https://www.lfd.uci.edu/~gohlke/pythonlibs/ y buscar Kivy . Kivy‑1.11.1‑cp38‑cp38‑win_amd64.whl .. significa para Python 3.8, Windows OS x64.

e instalar eso por pip install Kivy‑1.11.1‑cp38‑cp38‑win_amd64.whl (ejemplo)

pip install kivy [base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/

resuelve mi problema, gracias

Ahora es octubre. ¿Ha habido algún cambio en términos de la instalación de la rueda de Kivy para Python 3.8?
Estoy en Ubuntu 20.04 y las soluciones mencionadas anteriormente no funcionaron para mí. Quizás porque es específico de W10.

Por el momento pip3 install kivy en mi máquina errores con:

```
ERROR: Dependency for context.pyx not resolved: config.pxi
ERROR: Dependency for compiler.pyx not resolved: config.pxi
ERROR: Dependency for context_instructions.pyx not resolved: config.pxi
ERROR: Dependency for fbo.pyx not resolved: config.pxi
ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi
ERROR: Dependency for instructions.pyx not resolved: config.pxi
ERROR: Dependency for opengl.pyx not resolved: config.pxi
ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi
ERROR: Dependency for shader.pyx not resolved: config.pxi
ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi
ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi
ERROR: Dependency for texture.pyx not resolved: config.pxi
ERROR: Dependency for vbo.pyx not resolved: config.pxi
ERROR: Dependency for vertex.pyx not resolved: config.pxi
ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi
ERROR: Dependency for cgl.pyx not resolved: config.pxi
ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi
ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi
ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi
ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi
ERROR: Dependency for svg.pyx not resolved: config.pxi
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

''
Por el momento, bajé a Python 3.6. No creo que vea tanta diferencia.

Como potencial recién llegado a Kivy, estoy realmente desanimado por esta falta de apoyo. ¿Es así como quiere saludar a los nuevos usuarios? El primer paso obvio es pip install kivy y luego solo tenemos que buscar por qué no funciona.

Apoyamos todos los principales sistemas operativos
https://kivy.org/doc/stable/philosophy.html

Pero no sus versiones actuales (como Ubuntu LTS), como resulta.

No hay necesidad de negatividad, todos trabajamos gratuitamente aquí, en nuestro tiempo personal. La ayuda siempre es bienvenida, hay mucho que hacer.

Kivy funciona absolutamente en Ubuntu 20.04, los documentos se pueden actualizar para reflejar eso.

gabriel<strong i="7">@gryphon</strong>:~> docker run -it ubuntu:20.04 bash
root<strong i="8">@6599fa0c0d81</strong>:/# apt update
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
[…]
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
root<strong i="9">@6599fa0c0d81</strong>:/# apt install python3.8 python3-pip -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
[…]
done.
root<strong i="10">@6599fa0c0d81</strong>:/# python3.8 -m pip install --pre kivy[full]
Collecting kivy[all]
  Downloading Kivy-2.0.0rc3-cp38-cp38-manylinux2010_x86_64.whl (22.0 MB)
     |████████████████████████████████| 22.0 MB 13 kB/s 
  WARNING: kivy 2.0.0rc3 does not provide the extra 'all'
Collecting pygments
  Downloading Pygments-2.7.1-py3-none-any.whl (944 kB)
     |████████████████████████████████| 944 kB 5.6 MB/s 
Collecting docutils
  Downloading docutils-0.16-py2.py3-none-any.whl (548 kB)
     |████████████████████████████████| 548 kB 5.1 MB/s 
Collecting Kivy-Garden>=0.1.4
  Downloading kivy-garden-0.1.4.tar.gz (6.8 kB)
Collecting requests
  Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 459 kB/s 
Collecting chardet<4,>=3.0.2
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
     |████████████████████████████████| 133 kB 9.6 MB/s 
Collecting certifi>=2017.4.17
  Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
     |████████████████████████████████| 156 kB 13.4 MB/s 
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
     |████████████████████████████████| 127 kB 5.0 MB/s 
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 5.6 MB/s 
Building wheels for collected packages: Kivy-Garden
  Building wheel for Kivy-Garden (setup.py) ... done
  Created wheel for Kivy-Garden: filename=Kivy_Garden-0.1.4-py3-none-any.whl size=4531 sha256=40c7f88731f91c2bb078133980911f6b7a9415ac1398a2eb65a16ed605b468c7
  Stored in directory: /root/.cache/pip/wheels/d2/72/1a/9ddd17f00755707937caa350616965fb3330a6270425f397e6
Successfully built Kivy-Garden
Installing collected packages: pygments, docutils, chardet, certifi, urllib3, idna, requests, Kivy-Garden, kivy
Successfully installed Kivy-Garden-0.1.4 certifi-2020.6.20 chardet-3.0.4 docutils-0.16 idna-2.10 kivy-2.0.0rc3 pygments-2.7.1 requests-2.24.0 urllib3-1.25.10
root<strong i="11">@6599fa0c0d81</strong>:/# python3.8
Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import kivy
[WARNING] [Config      ] Older configuration version detected (0 instead of 21)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /root/.kivy/logs/kivy_20-10-08_0.txt
[INFO   ] [Kivy        ] v2.0.0rc3, git-20c14b2, 20200615
[INFO   ] [Kivy        ] Installed at "/usr/local/lib/python3.8/dist-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3.8"
>>> 

Gracias y lo siento. Kivy parecía realmente prometedor, pero cuando llegué a la instalación resultó ser una tarea ardua. Le daré una oportunidad de todos modos y, si me gusta, sin duda consideraré unirme al proyecto.

Hola, puedo ver que puede instalar Kivy en un contenedor con Python 3.8 instalado.
La diferencia que he detectado es que usaste la bandera --pre . Eso funcionó para mí. No podría instalarlo sin la bandera.

La página de ayuda dice esto sobre la bandera:

--pre Include pre-release and development versions. By default, pip only finds stable versions.

El comentario anterior de abril ya indicó cómo usar la bandera pre . Y esas instrucciones habrían funcionado incluso antes de que subiéramos la versión previa a pypi hace unos meses porque muestra cómo descargar desde nuestro servidor usando pip.

No cambia mi preocupación por asustar a nuevos usuarios potenciales (incluido yo mismo). E incluir la bandera --pre en la sección de instalación de la documentación, mientras mejora las cosas de lo que están, no será una solución perfecta, ya que aún destaca que no hay una versión estable que funcione para Python 3.8.

Mi comentario estaba más dirigido a @ codinghedgehog-python porque noté que varias personas comentaron aquí y en otros lugares que no está funcionando después de haber visto este problema, pero de alguna manera aparentemente se perdieron mi comentario de abril y no estaba seguro de por qué.

en la práctica kivy == 2.0.0rc3 se instala en Python 3.8, es una versión de lanzamiento de facto porque esto es lo que en la práctica tenemos que usar en Android (que usa Python 3.8).

Lo que falta en la documentación de instalación de Kivy 1.11.1 es (en letras grandes y amigables) "SÓLO Python 3.7"

La principal dificultad con los documentos es que no podemos actualizar fácilmente los documentos estables (CI ya no los compilará). Entonces, a menos que cambiemos la página principal para vincular a los documentos maestros, lo cual no deberíamos hacer, no tenemos forma de agregar esta información a los documentos (estables) que ven los nuevos usuarios.

Quizás en el futuro, cuando hagamos un lanzamiento y actualicemos los documentos estables, deberíamos indicar en los documentos la versión máxima de Python compatible con ruedas.

Ya veo, pero Kivy está empezando a parecer abandonware. Hoy hay alguien intentando instalar Python 3.9

Quizás lance 2.0.0 y acepte que no será perfecto en el momento del lanzamiento.

Es cierto que kivy tiene desarrolladores centrales menos activos que hace 3 o 4 años, pero esa es la naturaleza del código abierto, donde la gente va y viene por cualquier motivo y actualmente estamos en un pequeño aprieto.

Y el sitio web específicamente, kivy ha necesitado una actualización importante del sitio web durante como 5 años, pero nadie que lo haya visto hasta ahora lo ha cumplido. Supongo que no es una empresa menor.

El plan es lanzar 2.0.0 tan pronto como podamos construir las ruedas 3.9: https://github.com/kivy/kivy/pull/7132 y alguien revise las notas de la versión, etc. Normalmente publicamos una vez al año, y ha pasado aproximadamente un año desde el último lanzamiento. Excepto que Python también ha aumentado su cadencia de lanzamiento a una vez al año, por lo que no tenemos ruedas para 3.8, tal como se lanzó 3.9.

Los desarrolladores de @ janek37 python (y javascript) tienden a declarar las bibliotecas abandonadas, desactualizadas, ... si no admiten las dependencias más recientes de inmediato. Personalmente, prefiero la estabilidad de la API y evitar las regresiones en lugar de ejecutar versiones de dependencia de vanguardia. Kivy es una pieza de software compleja, y en la disciplina de la confiabilidad, los desarrolladores de kivy hacen un muy buen trabajo desde hace mucho tiempo.

Teniendo en cuenta el hecho de que los desarrolladores principales de Kivy no tienen la financiación como Canonical, Facebook o Microsoft, hacen un trabajo bastante bueno . Además, debo decir que recibo un apoyo muy decente en Discord y Stack Overflow de parte de los miembros de su equipo.
Y si esto y aquello a veces no funciona de inmediato y requiere ajustes adicionales, bueno, es de código abierto y la mano de obra es costosa. A pesar de todo, Kivy todavía se considera el marco de GUI más maduro que existe, así que felicitaciones por eso.

Quizás no lo tuve claro, Kivy y sus desarrolladores son increíbles.

Pero los novatos no entienden eso, simplemente experimentan que la instalación no funciona. Los usuarios más experimentados consideran que no admitir una versión bastante actual de Python es una señal de alerta.

Según tengo entendido, Python 3.9 comienza a abordar Python como un objetivo en movimiento, pero hasta que se resuelva, habrá un problema. ¿Quizás las versiones de mantenimiento más frecuentes (las que no requieren cambios en la documentación) ayudarían?

Las versiones de mantenimiento ahora se estancarían detrás de 2.0.0. Esto debe publicarse, incluso si significa que 2.0.1 será compatible con Python 3.9 en un futuro próximo.

Estamos mejorando continuamente el proceso de instalación agregando ruedas para diferentes sistemas operativos, tratando de simplificar kivy deps, etc., por lo que para la próxima versión funcionaría como una instalación básica con pip install kivy aunque la instalación recomendada será pip install kivy[base] o pip install kivy[full] . Por lo tanto, necesitamos actualizar la instalación con nuevas versiones. Pero tal vez se estabilice ahora que tenemos ruedas para todos los sistemas operativos principales y con los cambios anteriores.

Con respecto a hacer un lanzamiento ahora sin esperar a 3.9, eso no es realmente lo que está bloqueando en este momento. Es necesario resolver algunos problemas antes de que podamos lanzar y el tiempo que lleva hacer una versión, como compilar notas de la versión, probar en todos los sistemas operativos como conda, apt, etc., significa que cuando eso esté listo, las ruedas 3.9 también deberían estar listas.

pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/

esto resolvió mi problema

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