Python en español #28: Tertulia 2021-04-13 - a podcast by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
from 2021-06-29T23:00
Tener varias versiones de Python en el mismo ordenador, estado de Durus, su licencia y cómo funciona la persistencia de datoshttps://podcast.jcea.es/python/28
Participantes:
Jesús Cea, email:jcea@jcea.es, twitter:@jcea,https://blog.jcea.es/,https://www.jcea.es/. Conectando desde Madrid.
Jesús, conectando desde Ferrol.
Felipem, conectando desde Cantabria.
Eduardo Castro, email:info@ecdesign.es. Conectando desde A
Guarda.Víctor Ramírez, twitter:@virako,
programador python y amante devim, conectando desde
Huelva.Sergio, conectando desde Vigo.
Juan José, Nekmo,https://nekmo.com/,https://github.com/Nekmo/. Madrileño conectando desde Málaga.
Miguel Sánchez, email:msanchez@uninet.edu, conectando desde
Las Palmas.
Audio editado por Pablo Gómez, twitter:@julebek.
La música de la entrada y la salida es"Lightning Bugs", de Jason
Shaw. Publicada enhttps://audionautix.com/con licencia
-Creative Commons Attribution 4.0 International
License.
[00:52] Presentaciones. [03:47] Utilizar diferentes versiones de Python en el mismo
ordenador.Cada paquete instalado está vinculado a una instancia
concreta de Python instalada en el sistema.Nunca hacer
pip install
, sino indicar la versión:pip3.9
.
installA la hora de instalar paquetes Python en la versión nativa
del sistema operativo, se puede usarpip
o bien el gestor
de paquetes del sistema operativo. Mezclar ambas es unareceta para el desastre.
[16:37] Un problema de los paquetes precompilados ("wheels"https://www.python.org/dev/peps/pep-0427/) es que no se suelen
precompilar de forma retroactiva para la última versión dePython que acaba de salir.- No suelen estar disponibles hasta que sale una versión nueva
del paquete, lo que puede tardar meses.
- No suelen estar disponibles hasta que sale una versión nueva
[19:52] ¿Bibliotecas para manejar imágenes, compatibles con PyPyhttps://www.pypy.org/? - Numpyhttps://numpy.org/aún no funciona en PyPyhttps://www.pypy.org/.
[21:17] ¿Qué es PyPyhttps://www.pypy.org/exactamente? Jit: Compilación al vuelohttps://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n.
Barrera de entrada muy grande para entrar en el proyecto.
Curva de aprendizaje.Problemas con los módulos en C. No valoraron la
importancia del ecosistema.
[27:27] Experiencia de un par de semanas con Flithttps://pypi.org/project/flit/. Jesús Cea lo está utilizando para publicar su biblioteca
toc2audiohttps://docs.jcea.es/toc2audio/.Herramienta propuesta en la charla"Python Packaging: Lo
estás haciendo mal"https://www.youtube.com/watch?v=OeOtIEDFr4Y, de Juan Luis
Cano.PEP 621 -- Storing project metadata in pyproject.tomlhttps://www.python.org/dev/peps/pep-0621/.
Lo importante que es tener enlaces directos al"changelog"o
a la documentación en PyPIhttps://pypi.org/.
[31:32] Módulos de documentación. Carencias. Docstrings.
Sphinxhttps://pypi.org/project/Sphinx/.
make html
.
Tema eterno: Incluir una biblioteca en la biblioteca
estándar o como biblioteca estándar.ReST: reStructuredTexthttps://docutils.sourceforge.io/rst.html.
- PEP 287 -- reStructuredText Docstring Formathttps://www.python.org/dev/peps/pep-0287/.
docutils:https://pypi.org/project/docutils/.
[40:02] ¿Formato tertulia o preguntas y respuestas? [41:22] Estado actual de Durushttps://www.mems-exchange.org/software/DurusWorks/y
comentarios variados sobre el sistema de persistencia.Jesús Cea ha estado intentando conectar con los autores, con
poco éxito.Jesús Cea tiene problemas con la licencia.
¿Abandonar el proyecto y pasarse a ZODBhttps://zodb.org/en/latest/?
La gente está haciendo"forks"https://en.wikipedia.org/wiki/Fork_(software_development)pasando olímpicamente de las licencias.
Jesús Cea se está currando varios cambios de licencia en
ciertos proyectos que le interesan, con muy poco éxito.COPYRIGHT ASSIGNMENThttps://www.copylaw.com/forms/copyassn.html.
[50:32] ¿Cómo funciona un sistema de persistencia? Modelo completamente diferente a un ORMhttps://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping.
Working set:https://en.wikipedia.org/wiki/Working_set.
[58:17] Volvemos al tema de licencias. [59:52] Explícame esto:https://lists.es.python.org/pipermail/general/2021-April/003476.html. Creamos un fichero"a.py"con el contenido:
def x():print('X')
Creamos otro fichero"b.py"con el contenido:
import aclass clase:
x = a.xdef p(self):
print(self.x)self.x()
if __name__ == '__main__':a.x()
b = clase()b.p()
Ejecutas"b.py"y me explicas por qué sale lo que sale :-).[01:03:42] A la gente le encanta que le"piquen". [01:03:52] Las versiones actuales de Python ya han integrado el
parche del"memory leak"que se habló en navidades.- bpo-35930: Raising an exception raised in a"future"instance will create reference cycles #24995https://github.com/python/cpython/pull/24995.
[01:04:22] Llamada a ponencias de la PyConEShttps://2021.es.pycon.org/. [01:05:22] Volvemos al reto enhttps://lists.es.python.org/pipermail/general/2021-April/003476.html. Pista: los métodos son descriptores:https://docs.python.org/3/howto/descriptor.html.
Bound method:https://www.geeksforgeeks.org/bound-methods-python/.
Métodos estáticos:https://pythonbasics.org/static-method/.
No se ha entendido nada porque ha habido numerosos cortes de
sonido. El tema está bastante mejor explicado y se entiendeen, por ejemplo, From Function to Methodhttps://wiki.python.org/moin/FromFunctionToMethod.
[01:10:02] Atributos de función. PEP 232 -- Function Attributeshttps://www.python.org/dev/peps/pep-0232/. - Se pueden meter atributos a un método, pero se hace a nivel
de clase, no de instancia, porque los métodos pertenecen ala clase, no a la instancia:class clase:
def p(self):clase.p.hola = 78>>> x=clase()>>> x.p()>>> x.p.hola
78>>> y=clase()>>> a.p.hola
78>>> clase.p.hola
78
- Se pueden meter atributos a un método, pero se hace a nivel
[01:14:42] Notas de las grabaciones, temas futuros y enviar
temas con algún tiempo previo a la tertulia si requieren pensar.[01:16:06] Final.
Further episodes of Python en español
Further podcasts by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
Website of Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León