Tener varias versiones de Python en el mismo ordenador, estado de Durus, su licencia y cómo funciona la persistencia de datos https://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 de
vim, 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 en https://audionautix.com/ con licencia
- Creative Commons Attribution 4.0 International
License.
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.
install
A la hora de instalar paquetes Python en la versión nativa
del sistema operativo, se puede usar pip o bien el gestor
de paquetes del sistema operativo. Mezclar ambas es una
receta para el desastre.
https://www.python.org/dev/peps/pep-0427/) es que no se suelen
precompilar de forma retroactiva para la última versión de
Python que acaba de salir.
https://www.pypy.org/?
Jit: Compilación al vuelo
https://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.
https://pypi.org/project/flit/.
Jesús Cea lo está utilizando para publicar su biblioteca
toc2audio https://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.toml
https://www.python.org/dev/peps/pep-0621/.
Lo importante que es tener enlaces directos al "changelog" o
a la documentación en PyPI https://pypi.org/.
Docstrings.
Sphinx https://pypi.org/project/Sphinx/.
make html.Tema eterno: Incluir una biblioteca en la biblioteca
estándar o como biblioteca estándar.
ReST: reStructuredText
https://docutils.sourceforge.io/rst.html.
docutils: https://pypi.org/project/docutils/.
https://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 ZODB
https://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 ASSIGNMENT
https://www.copylaw.com/forms/copyassn.html.
Modelo completamente diferente a un ORM
https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping.
Working set: https://en.wikipedia.org/wiki/Working_set.
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 a
class clase:
x = a.x
def 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 :-).
parche del "memory leak" que se habló en navidades.
https://2021.es.pycon.org/.
https://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 entiende
en, por ejemplo, From Function to Method
https://wiki.python.org/moin/FromFunctionToMethod.
https://www.python.org/dev/peps/pep-0232/.
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
temas con algún tiempo previo a la tertulia si requieren pensar.