Un autre développeur et moi ne sommes pas d'accord sur le fait que PYTHONPATH ou sys.path devraient être utilisés pour permettre à Python de trouver un package Python dans un répertoire utilisateur (par exemple, développement).
Nous avons un projet Python avec une structure de répertoires typique:
Project
setup.py
package
__init__.py
lib.py
script.py
Dans script.py, nous devons le faire import package.lib
. Lorsque le package est installé dans site-packages, script.py peut trouver package.lib
.
Cependant, lorsque vous travaillez à partir d'un répertoire utilisateur, quelque chose d'autre doit être fait. Ma solution est de configurer mon PYTHONPATH pour inclure "~ / Project". Un autre développeur souhaite mettre cette ligne de code au début de script.py:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Pour que Python puisse trouver la copie locale de package.lib
.
Je pense que c'est une mauvaise idée, car cette ligne n'est utile que pour les développeurs ou les personnes exécutant une copie locale, mais je ne peux pas donner une bonne raison pour laquelle c'est une mauvaise idée.
Devrions-nous utiliser PYTOHNPATH, sys.path, ou est-ce bien?