es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utiliza import_module para acceder a un módulo desde site-packages.

Quiero importar todos los módulos de un directorio específico de un paquete que instalé usando pip, es decir, que se encuentra en “site-packages”.

Lo que intenté:

Digamos que el nombre del paquete es “package” y tiene un directorio llamado “directory”. Tiene varios archivos como “a.py”, “b.py”, etc. Necesito importar todos ellos. Listé todos los archivos en “directory” usando “file” incorporado, lo cual no es el problema. Cuando intenté importar los módulos usando “importlib.import_module”, obtuve “ModuleNotFoundError” a pesar de estar 100% seguro de que existen. Usé una importación relativa.

Código de ejemplo:

“modules” es una lista de todos los archivos en “directory”

for module in modules:
    importlib.import_module('.'+module, 'C:\\Users\\.....\\package\\directory')

“ModuleNotFoundError: No se encontró el módulo ‘C:\Users\…..\package\directory'”.

Finalmente:

¿Qué estoy haciendo mal y cuál es la forma correcta de referirse a “site-packages”?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo acceder a su entorno o archivos locales. Sin embargo, parece que el problema está en la ruta utilizada en la función import_module. En lugar de proporcionar la ruta absoluta, puede usar el nombre del paquete para importar los módulos. Aquí hay un fragmento de código actualizado:

    import package.directory.a
    import package.directory.b
    import package.directory.c
    # y así sucesivamente
    

    O, alternativamente, puede utilizar una única instrucción de importación para importar todos los módulos del directorio:

    from package.directory import *
    

    Asegúrese de que el paquete esté instalado correctamente y esté disponible en el directorio site-packages. Puede verificar la instalación del paquete utilizando el siguiente comando en la terminal:

    pip show package
    

    Esto debería mostrar información sobre el paquete, como la versión, la ubicación, etc. Si el paquete no está instalado, puede instalarlo con pip:

    pip install package
    

    ¡Espero que esto ayude!

Comments are closed.