python sin módulo nombrado

Funciones y métodos de Python

Los módulos son parte integral del lenguaje Python . Los módulos le permiten dividir su código en varios archivos. Esto ayuda a mantener la legibilidad y el mantenimiento de una base de código.

Es común encontrar un ModuleNotFoundError cuando se trabaja con módulos. En esta guía, hablamos sobre qué significa este error y por qué se genera. Analizamos tres posibles soluciones para ayudarlo a superar este error.




¿Qué es un ModuleNotFoundError?

Se genera un ModuleNotFoundError cuando Python no puede importar un módulo .

El mensaje de error completo se parece a esto:

 ModuleNotFoundError: Ningún módulo llamado' your_module_name' 

Este error se encuentra cuando se olvida de instalar una dependencia para un proyecto. Debido a que no ha instalado la dependencia, Python no sabe dónde ubicarla.

ModuleNotFoundErrors aparecen en módulos definidos por el usuario . A menudo, este error se debe a la importación relativa de archivos cuando no está permitido hacerlo.




Escenario de ejemplo: dependencia no instalada

Eche un vistazo a un archivo llamado app.py que usa la Paquete BeautifulSoup:

 de bs4 import BeautifulSoup url = "https://python.engineering" print (url) 

Intentemos ejecutar este archivo:

El 81% de los participantes afirmaron que se sentían más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Parece que Python 3 no puede busque el módulo & ldquo; bs4 & rdquo ;. Debido a que bs4 es un paquete externo, la causa de este error debería ser que no hemos instalado el módulo.

Para solucionar este error, instalamos el módulo bs4:

 pip3 install BeautifulSoup4 

Este código instala el módulo requerido para nuestro proyecto.

Nota: Debe asegurarse de utilizar el administrador de paquetes correcto para instalar un módulo. No puede instalar módulos para Python 3 usando pip y módulos para Python 2 usando pip3. Si lo hace, es posible que el intérprete de Python no reconozca que ha instalado un módulo.


Ejecuta nuestro código nuevamente:

 https://python.engineering 

¡Nuestro código funciona!




Escenario de ejemplo: módulos definidos por el usuario

Hay dos tipos de importaciones en Python: absolutas y relativas.

Las importaciones absolutas son donde importas algo en sys.path, como un paquete integrado. Las importaciones relativas son donde importas algo que es relativo al programa que estás escribiendo.

Las importaciones relativas deben ser parte de un paquete, de lo contrario no se pueden ejecutar.

A continuación, escribimos un programa que imprime una lista de tortas en la consola. Primero, creamos una estructura de directorio para nuestro proyecto:

 app.py config.py cakes / main.py 

Comenzamos declarando un lista de pasteles en nuestro & ldquo; config.py & rdquo; file:

 cake_list = ["Double Chocolate Gateau", "Victoria Sponge", "Lemon Cake"] 

A continuación, escribimos nuestro & ldquo; main.py & rdquo; archivo que imprime estas tortas en la consola:

 def print_cakes (tortas): para c en tortas: print ( c) 

Finalmente, escribimos nuestro programa principal en app.py que ejecuta nuestro módulo:

 import main import config main.print_cakes (config.cake_list) 

Este código ejecuta print_cakes () función dentro de & ldquo; main.py & rdquo; expediente. Importamos & ldquo; main & rdquo; y & ldquo; config & rdquo; para que podamos acceder a nuestra función print_cakes () y nuestra lista de pasteles. Esta lista de pasteles se pasa a través de nuestra función print_cakes () .

Ejecute nuestro código y vea qué sucede:

 Traceback (última llamada más reciente): Archivo" app.py ", línea 2, en & lt; módulo & gt; import config ModuleNotFoundError: Ningún módulo llamado 'config' 

Este error ocurre porque no hemos importado nuestros archivos correctamente.

& ldquo; main & rdquo; está en el & ldquo; pasteles & rdquo; módulo. No está en nuestro directorio de trabajo actual. Sabemos esto porque & ldquo; main.py & rdquo; está en el & ldquo; pasteles & rdquo; carpeta. Para acceder a este módulo, necesitamos importarlo relativamente:

 from cakes import main import config main.print_cakes ( config.cake_list) 

En lugar de importar & ldquo; main & rdquo; directamente, importamos & ldquo; main & rdquo; de los & ldquo; pasteles & rdquo; módulo. Veamos qué sucede cuando volvemos a ejecutar nuestro código:

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. Dos meses después de graduarme, encontré el trabajo de mis sueños. eso se alinea con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Nuestro código imprime la lista de pasteles . Hemos importado & ldquo; main & rdquo; de & ldquo; pasteles & rdquo; y resolvió nuestro error ModuleNotFoundError.


Observe que importamos el módulo & ldquo; config & rdquo; directamente a nuestro código. Esto se debe a que & ldquo; config & rdquo; está en la misma carpeta que el programa que estamos ejecutando.




Conclusión

El ModuleNotFoundError se genera cuando Python no puede localizar un error. La causa más común de este error es olvidar instalar un módulo o importar un módulo incorrectamente.

Si está trabajando con un módulo externo, debe verificar para asegurarse de haberlo instalado. Si está escribiendo un módulo definido por el usuario, debe verificar sus declaraciones de importación y asegurarse de que todas importen archivos relativamente.

¡Ahora está listo para resolver el error de Python ModuleNotFoundError como un experto!





python sin módulo nombrado: StackOverflow Questions

Tutorials