Importer des packages Python depuis des sous répertoires

Importer des packages Python depuis des sous répertoires

Alexandre P. dans Dev - Le 04-02-2024

En Python, lorsque vous devez structurer un projet, il arrive que vous ayez besoin de charger une lib dans un répertoire parent, et pour cela, il est vrai que ce n'est pas évident de les importer. Voici un petit snippet code qui pourrait vous être utile.

Lorsque vous travaillez dans un projet avec une arboresence comme celle-ci:

.
├── libs
│   ├── get_content.py
│   └── get_key.py
└── tests
    └── test_get_key.py

Pour importer les libs de depuis le répertoire test, cela peut s'avérer un peu tricky. Mais voici comment procéder depuis notre fichier test_get_key.py:

import os
import sys

# nous allons demander à Python de prendre aussi en considération les répertoires à partir du répertoire parent. 

parent_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')
sys.path.append(parent_dir)

# maintenant il est possible d'importer facilement toutes les libs du répertoire parent.

from libs.get_key import read_key

Rien ne vous empêche de spécifier des chemins plus complexe et de les importer.

#python#import#libs

user picture
Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.