Importar módulos del directorio principal en Python
- Importar un módulo desde el directorio principal en Python usando la importación relativa
-
Importar un módulo desde el directorio principal en Python agregándolo a
PYTHONPATH
-
Importar un módulo desde el directorio principal en Python utilizando el método
sys.path.insert()
Este tutorial explicará varios métodos para importar un módulo desde el directorio principal en Python. Importamos diferentes módulos para usar otras funcionalidades en nuestro código. Nos ahorra copiar o implementar las funcionalidades nuevamente y hace que el código sea más limpio y más fácil de entender.
Supongamos que queremos importar un módulo del directorio padre del directorio del proyecto actual. Podemos hacerlo utilizando diferentes métodos, que se explican a continuación.
Importar un módulo desde el directorio principal en Python usando la importación relativa
La importación relativa se usa para importar un módulo en el código usando la ruta del directorio actual como referencia. Para importar un módulo usando la instrucción import
, primero tendremos que declarar el directorio como un paquete agregando el archivo __init__.py
en el directorio principal. Una vez que el directorio principal se declara un paquete, podemos importar el módulo utilizando el enfoque de paquete relativo.
Supongamos que tenemos el siguiente árbol de directorios.
parent_parent_directory/
parent_directory/
mymodule.py
__init__.py
current_directory/
currentmodule.py
mymodule.py
__init__.py
El siguiente código de ejemplo demuestra cómo importar el módulo desde el paquete principal.
from ..parent_directory import mymodule
Para importar el módulo desde el directorio dos niveles arriba desde el directorio actual, tendremos que poner tres puntos antes del nombre del directorio del paquete para retroceder dos niveles, como se muestra en el código de ejemplo a continuación.
from ...parent_parent_directory import mymodule
Importar un módulo desde el directorio principal en Python agregándolo a PYTHONPATH
El PYTHONPATH
es una variable de entorno que especifica la lista de directorios que Python debería buscar para importar módulos y paquetes.
Entonces, si agregamos el directorio principal desde donde necesitamos importar el módulo, Python buscará automáticamente en el directorio principal y encontrará el módulo requerido.
Importar un módulo desde el directorio principal en Python utilizando el método sys.path.insert()
También podemos usar el método sys.path.insert()
para agregar el directorio padre a la lista sys.path
, que es la lista de cadenas que especifica las rutas para buscar los paquetes y módulos. sys.path
contiene la lista de directorios de variables de entorno PYTHONPATH, y también se pueden agregar otras rutas utilizando el método sys.path.insert()
.
El siguiente código de ejemplo demuestra cómo usar el método sys.path.insert()
para agregar el directorio principal a la lista sys.path
en Python.
import mymodule
import os
import sys
p = os.path.abspath(".")
sys.path.insert(1, p)