Importer des modules à partir du répertoire parent en Python

Muhammad Waiz Khan 30 janvier 2023
  1. Importer un module à partir du répertoire parent en Python à l’aide de l’importation relative
  2. Importer un module depuis le répertoire parent en Python en l’ajoutant à PYTHONPATH
  3. Importer un module depuis le répertoire parent en Python en utilisant la méthode sys.path.insert()
Importer des modules à partir du répertoire parent en Python

Ce tutoriel expliquera différentes méthodes pour importer un module à partir du répertoire parent en Python. Nous importons différents modules pour utiliser d’autres fonctionnalités dans notre code. Cela nous évite de copier ou d’implémenter à nouveau les fonctionnalités et rend le code propre et plus facile à comprendre.

Supposons que nous voulions importer un module à partir du répertoire parent du répertoire de projet en cours. Nous pouvons le faire en utilisant différentes méthodes, qui sont expliquées ci-dessous.

Importer un module à partir du répertoire parent en Python à l’aide de l’importation relative

L’importation relative permet d’importer un module dans le code en utilisant le chemin du répertoire courant comme référence. Pour importer un module à l’aide de l’instruction import, il faudra d’abord déclarer le répertoire un package en ajoutant le fichier __init__.py dans le répertoire parent. Une fois que le répertoire parent est déclaré package, nous pouvons importer le module en utilisant l’approche relative du package.

Supposons que nous ayons l’arborescence de répertoires suivante.

parent_parent_directory/
    parent_directory/
        mymodule.py
        __init__.py
    current_directory/
        currentmodule.py
    mymodule.py
    __init__.py

L’exemple de code ci-dessous montre comment importer le module à partir du package parent.

from ..parent_directory import mymodule

Pour importer le module à partir du répertoire deux niveaux ci-dessus à partir du répertoire courant, nous devrons mettre trois points avant le nom du répertoire du package pour remonter de deux niveaux, comme indiqué dans l’exemple de code ci-dessous.

from ...parent_parent_directory import mymodule

Importer un module depuis le répertoire parent en Python en l’ajoutant à PYTHONPATH

Le PYTHONPATH est une variable d’environnement spécifiant la liste des répertoires que Python doit rechercher pour importer des modules et des packages.

Donc, si nous ajoutons le répertoire parent à partir duquel nous devons importer le module, Python cherchera automatiquement dans le répertoire parent et trouvera le module requis.

Importer un module depuis le répertoire parent en Python en utilisant la méthode sys.path.insert()

On peut aussi utiliser la méthode sys.path.insert() pour ajouter le répertoire parent à la liste sys.path, qui est la liste des chaînes qui spécifie les chemins pour rechercher les packages et les modules. Le sys.path contient la liste des répertoires des variables d’environnement PYTHONPATH, et d’autres chemins peuvent également être ajoutés en utilisant la méthode sys.path.insert().

L’exemple de code ci-dessous montre comment utiliser la méthode sys.path.insert() pour ajouter le répertoire parent à la liste sys.path en Python.

import mymodule
import os
import sys

p = os.path.abspath(".")
sys.path.insert(1, p)

Article connexe - Python Import