Un autre développeur et moi sommes en désaccord sur le fait que PYTHONPATH ou sys.path doive être utilisé pour permettre à Python de trouver un paquet Python dans un répertoire utilisateur (par exemple, développement).PYTHONPATH vs. sys.path
Nous avons un projet Python avec une structure de répertoire typique:
Project
setup.py
package
__init__.py
lib.py
script.py
En script.py, nous devons faire import package.lib
. Lorsque le package est installé dans des packages de site, script.py peut trouver package.lib
. Lorsque vous travaillez à partir d'un répertoire utilisateur, cependant, quelque chose d'autre doit être fait. Ma solution consiste à définir mon PYTHONPATH pour inclure "~/Project". Un autre développeur veut mettre cette ligne de code au début de script.py:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Alors que Python peut 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 à partir d'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?
Semble que les votes et les réponses sont répartis équitablement avec une très légère tendance vers l'utilisation de PYTHON_PATH, bien qu'il puisse s'agir d'un bruit d'échantillonnage ou d'un biais involontaire de la question. – AJP