Ich habe eine Python-Anwendung, die mit einem Befehlszeilenskript kommt. Ich belichte das Skript über setuptools
"Einstiegspunkt" -Feature. Wenn ein Benutzer das Skript ausführt, möchte ich, dass die Umgebung mit der requirements.txt
des Pakets konsistent ist. Dies bedeutet, dass die Umgebung Versionen jedes Abhängigkeitspakets enthalten muss, die den Versionsspezifizierern in requirements.txt
entsprechen.Python: Legen Sie PYTHONPATH nach Anforderungen.txt zur Laufzeit
Ich weiß, dass dies meine Benutzer erstellen eine virtuelle Umgebung, indem sie mit venv
/virtualenv
erreicht werden kann, installieren Sie requirements.txt
darin, und aktivieren Sie die virtuelle Umgebung, wenn sie das Skript ausführen. Ich möchte nicht die Last auferlegen, Benutzer virtualenv
manuell aufzurufen. Rubys bundler
löst dieses Problem, indem es bundler/setup
bereitstellt - wenn es geladen wird, ändert es Rubys $LOAD_PATH
, um den Inhalt des Gemfile
(analog von requirements.txt
) widerzuspiegeln. Daher kann es am Anfang eines Skripts platziert werden, um die Laufzeitumgebung transparent zu steuern. Hat Python eine Entsprechung? Das heißt, eine Möglichkeit, die Umgebung zur Laufzeit gemäß requirements.txt
einzustellen, ohne dem Benutzer zusätzliche Komplexität aufzuerlegen?
Auf Fenster: da Sie ein Kommandozeilen-Skript laufen lassen, warum und –
@ Jean-FrançoisFabre OK verwenden 'setx PYTHONPATH' die Datei nicht lesen, ich in das aussehen wird, aber ich für eine grenzüberschreit bin der Hoffnung, Plattformlösung. –
Mögliches Duplikat von [Wie wird Python-Projekt einschließlich Abhängigkeiten erstellt?] (Http://stackoverflow.com/questions/37606773/how-to-build-python-project-including-dependencies) –