Import dans des modules? Comment faire et quelles sont les bonnes pratiques?
Bonjour,
Étant débutant en Python (il fallait bien que je découvre ce sympathique langage depuis le temps qu'on en parle! :) ), je m’essaie au importation de module et je rencontre un problème...
Afin d'être le plus compréhensible possible, voici l'exemple concret de mes tests.
Arborescence des mes fichiers et répertoires:
Code:
1 2 3 4 5 6 7 8 9
| programme.py
config.py
'-- package
|-- __init__.py
|-- UnModule.py
'-- conposantsUnModule
|-- __init__.py
|-- composant1.py
|-- composant2.py |
Le but est de démarrer le programme depuis programme.py. Le problème est que j'ai des import dans dans le fichier UnModule.py (il fonctionne parfaitement s'il est directement exécuté sur IDLE). Lorsque j'exécute le programme.py, j'ai alors l'erreur suivante :
Citation:
ImportError: No module named 'composantsUnModule'
Comment faire pour régler mon problème d'import? Y-a-t-il une bonne pratique à adopter (faire quelque chose en lien avec le PYTHON PATH?)
Voici le code (très light) des différents fichiers (les fichiers non mentionnés ci-dessous sont vides) :
programme.py
Code:
1 2 3 4
| import config
from package import UnModule
UnModule.maFonction() |
UnModule.py (dans le répertoire package/)
Code:
1 2 3 4 5 6 7
| import composantsUnModule.composant1
import composantsUnModule.composant2
def maFonction():
print("Je suis dans UnModule")
composantsUnModule.composant1.maFonction()
composantsUnModule.composant2.maFonction() |
composants1.py (dans le répertoire package/composantsUnModule/)
Code:
1 2
| def maFonction():
print("Je suis dans composant1") |
composants2.py (dans le répertoire package/composantsUnModule/)
Code:
1 2
| def maFonction():
print("Je suis dans composant2") |
Un grand merci d'avance pour vos réponses