Il y a de nombreuses suggestions sur le web concernant la structure du projet Python peut/doit être, par exemple Quelle est la meilleure structure de projet pour une application Python?.
"dossier-projet"
+- doc
+- apidoc
+- scripts
+- "dossier-src"
+- tests
Il semble que de nombreuses personnes dans le monde Python préfèrent que "dossier-src" et "dossier-projet" soient égaux (ou très similaires). Cependant, les scripts et les tests devront sûrement importer des modules de dossier-src, donc soit je dois
- exécuter tous les scripts et tests lorsque le dossier-projet est mon répertoire de travail actuel, ou
- le PYTHONPATH doit contenir le dossier-projet, non?
Ou y a-t-il une autre possibilité que j'ignore pour le moment?
Supposons que j'aie une telle structure et que j'aie configuré correctement le PYTHONPATH. Maintenant, je commit le projet dans un VCS et un autre développeur le récupère. Sur sa machine, le PYTHONPATH ne sera pas correctement défini et les imports dans les scripts et tests ne fonctionneront pas.
- Y a-t-il une possibilité de rendre la définition de PYTHONPATH partie du projet, de sorte qu'elle puisse faire partie du contrôle de version?
- Existe-t-il une structure de projet différente qui me permettrait de récupérer et de commencer à utiliser le projet sans modifier le PYTHONPATH?
- La solution suggérée ici: Python - Comment configurer PYTHONPATH avec une structure de répertoire complexe? (c'est-à-dire inclure un court extrait de modification de sys.path dans chaque script et test) est-elle la bonne?
- Un module site http://docs.python.org/2/library/site.html serait-il utile?
- Quel est votre flux de travail lorsque vous développez un projet avec une structure similaire?