Dans le module m2.py, je peux faire référence au module m1.py :
a. soit par « from myPackage.dossier1 import m1 »
b. soit par « from ..dossier1 import m1 »
Les deux marchent très bien mais hélas je ne peux pas exécuter m2.py
lui-même pour y faire des tests. Je m'explique. Quand j'édite m2.py,
j'aime bien pouvoir le tester directement (et au fur et à mesure) via un
simple « python m2.py » et en mettant en fin de fichier :
if __name__ == '__main__':
# là je mets des petits tests par-ci par-là
Seulement, quand j'exécute m2.py, à cause de ma référence interne (que
ce soit avec la version a. ou la b.), ça plante tout le temps.
Q1 : Comment faire pour faire mes tests sans que cela plante tout le temps ?
Dans le cas a. j'ai « ImportError: No module named myPackage.dossier1 »,
ok c'est normal. Dans le cas b. (celui-là étant donné que la référence
est relative, j'y croyais) j'ai « ValueError: Attempted relative import
in non-package ».
Enfin pour finir :
Q2 : comment peut-on faire un import du package "package2" dans un
module de myPackage, par exemple dans m2.py ?