Tout d'abord à tous: je suis désolé, je sais qu'il y a beaucoup de question à propos relatif des importations, mais je ne l'ai pas trouver une solution. Si possible, je voudrais utiliser le répertoire suivant la mise en page:
myClass/
__init__.py
test/
demo.py
benchmark.py
specs.py
src/
__init__.py
myClass.py
Maintenant mes questions sont les suivantes:
Comment faire le test des fichiers à partir de l'intérieur de l'emballage correctement à l'importation myClass.py?
Comment voulez-vous importer le package à partir de l'extérieur, en supposant que vous prenez myClass en tant que sous-module dans libs/maclasse ou include/maclasse?
Jusqu'à présent, je n'arrivais pas à trouver une solution élégante pour cette. Ce que je comprends de Guido de Décision , il devrait être possible de le faire from ..src import myClass
, mais cette erreur:
ValueError: Attempted relative import in non-package
Qui ressemble comme il ne permet pas de traiter myClass sous forme de forfaits. La lecture de la documentation:
L' __init__.py les fichiers sont requis pour assurer le Python traiter les répertoires contenant des paquets;
Il semble que je suis absent quelque chose qui spécifie où les scripts du paquet, dois-je utiliser .la pth ?