Ein anderer Entwickler und ich sind anderer Meinung darüber, ob PYTHONPATH oder sys.path verwendet werden sollte, damit Python ein Python-Paket in einem Benutzerverzeichnis (z. B. Entwicklung) finden kann.PYTHONPATH vs. sys.path
Wir haben ein Python-Projekt mit einer typischen Verzeichnisstruktur:
Project
setup.py
package
__init__.py
lib.py
script.py
In script.py, müssen wir import package.lib
tun. Wenn das Paket in Site-Paketen installiert ist, kann script.py package.lib
finden.
Bei der Arbeit von einem Benutzerverzeichnis muss jedoch etwas anderes getan werden. Meine Lösung ist, meinen PYTHONPATH auf "~/Project" zu setzen. Ein anderer Entwickler möchte diese Codezeile am Anfang script.py setzen:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Damit Python die lokale Kopie von package.lib
finden.
Ich denke, das ist eine schlechte Idee, da diese Zeile nur für Entwickler oder Leute nützlich ist, die von einer lokalen Kopie laufen, aber ich kann keinen guten Grund geben, warum es eine schlechte Idee ist.
Sollten wir PYTOHNPATH, sys.path verwenden, oder ist beides in Ordnung?
Scheint, die Stimmen und Antworten sind ziemlich gleichmäßig mit einem sehr leichten Mager in Richtung PYTHON_PATH aufgeteilt, obwohl dies Sampling Noise oder unbeabsichtigte Verzerrung von der Frage sein könnte. – AJP