Package breaks when importlib metadata isn't available (Pyinstaller)

Abierto Apto para principiantes
#1,042 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
backend

Línea de trabajo

Empieza en __init__.py del paquete, donde el issue indica que importlib.metadata.version() se ejecuta durante la importación. Comprueba la consulta de versión existente y cómo gestiona el paquete la ausencia de metadatos; después, verifica que al importar sin metadatos incluidos se usa el fallback propuesto «unknown» y que las instalaciones normales siguen indicando su versión.

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

Descripción

enhancement

Problem to Solve

__init__.py calls importlib.metadata.version() at import time :

This breaks when the package metadata isn't bundled (I use PyInstaller and run into this issue) . I can get around this fine by bundling metadata or doing other hacks, but I think just using a try check is the correct approach.

Proposed Solution

Fall back to unknown when the metadata is missing. I saw this pattern being used in the PyVisa repo.

try:
version = version(name)
except PackageNotFoundError:
version = "unknown"

AB#4147314

Lenguaje dominante
Python
Estrellas
595
Forks
200
Merge medio
1 d 8 h
PR fusionados (30 d)
10

Preparar el entorno

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 ni/nidaqmx-python

Todos los issues de ni/nidaqmx-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.