Bonjour tout le monde,
Je débute sous Python et je rencontre un problème avec le notion de package.
Voici l'arborescence de mon projet :
racine/
module/
__init__.py
f1.py
f2.py
test.py
Mon f1.py défini une classe "C1" et la classe dépend d'une fonction définie dans le fichier f2.py, donc dans mon fichier f1.py, il y a "import f2".
Dans mon script test.py, je veux instancier un objet de classe C1, donc j'importe le fichier f1.py dans le script test.py avec "import module.f1", mais j'ai une erreur qui est "import f2" ne marche pas car f2 est introuvable.
Du coup, dans mon fichier f1.py j'ai mis "import module.f2".
Mon script test.py marche sans problème.
Mais, il m'arrive de modifier mon fichier f1.py pour ajouter de nouvelles méthodes et j'ajoute toujours un "if __name__ == '__main__':" pour pouvoir tester directement mon script, or avec le "import module.f2", je ne peux plus lancer mon script comme avant : "shell > ./f1.py" car python ne trouve pas le package module.
Du coup, si je veux tester ma modification du fichier f1.py, je vais devoir créer un script dans la racine ... ca me rajoute une étape en plus :/
J'aimerais savoir si c'était normal que je rencontre ce problème et s'il y a une solution.
Merci.
Partager