¿Hay alguna forma de enumerar los nombres de los paquetes de PyPi que corresponden a los módulos que se importan en un script?
Por ejemplo, para importar el módulo scapy3k
(este es su nombre) necesito usar
import scapy.all
pero el paquete real para instalar es scapy-python3
. Lo último es lo que busco extraer de lo que encontraré en la statement de import
(no me importa su nombre, scapy3k
en ese caso).
Hay otros ejemplos (que me escapan ahora mismo) de paquetes que tienen un nombre de pip install
completamente diferente de lo que se usa en la import
posterior.
El nombre que aparece en pypi es el nombre definido en el archivo setup.py / setup.cfg de la distribución. No hay ningún requisito de que este nombre se relacione con el nombre del paquete que se instalará. Por lo tanto, no hay una forma 100% confiable de obtener el nombre de una distribución en pypi, dado solo el nombre del paquete que instala (el caso de uso identificado en el comentario del OP).