Source-less python distributions + PEP3147

Abierto
#95,827 9 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python

Línea de trabajo

Comienza leyendo PEP 3147, especialmente la sección sobre archivos pyc heredados e importaciones sin código fuente; después, revisa los ejemplos de Buildroot y los comportamientos de empaquetado descritos en el issue. Aclara si las distribuciones sin código fuente son totalmente compatibles y documenta las implicaciones para los consumidores, incluidos los symlinks a archivos .py y los scripts wrapper.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

docs topic-importlib

PEP 3147 (https://peps.pythondiscord.com/pep-3147/) makes mention of "continue to support source-less distributions" by using legacy pyc file placements when no py file is adjacent. Blurb here: https://peps.pythondiscord.com/pep-3147/#case-4-legacy-pyc-files-and-source-less-imports

What is not clear is if the term "legacy" applies to just the pyc file placement or if it applies to both the pyc file placement and source-less distributions.

Are source-less distributions first-class citizens in terms of support? They're often used for embedded environments (Buildroot, for example, generates a source-less distribution) so it would make sense that they are supported.

If source-less distributions are first-class citizens and should continue to be supported, is there documentation about what that implies for consumers of a distribution? Some things that we've seen are:

  • Packages trying to symlink to .py files vs building a wrapper script that imports a module to execute code
  • Modules making assumptions that a .py file which may-or-may-not exist can be executed directly
Lenguaje dominante
Python
Estrellas
77.2k
Forks
36k
Merge medio
1 d 9 h
PR fusionados (30 d)
558

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de python/cpython

Todos los issues de python/cpython

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.