Also ich denke, das die häufigste Methode ist ...
1. postactivate
mit virtualenvwrapper
Ich habe immer diese Datei selbst im postactivate
getan. Bei diesem Ansatz können Sie entweder Umgebungsvariablen direkt in dieser Datei definieren (meine Präferenz) oder in einer separaten Datei in Ihrem Projektverzeichnis, die Sie in der Datei potickrivate source
haben. Um genau zu sein, ist dies tatsächlich ein Teil von virtualenvwrapper, im Gegensatz zu virtualenv selbst.
http://virtualenvwrapper.readthedocs.io/en/latest/scripts.html#postactivate
(Wenn Sie wirklich sauber sein wollen, können Sie auch ungesetzt Ihre Umgebung Vars in der postdeactivate
-Datei.)
Alternativ können Sie dies direkt in der activate
Datei tun. Ich finde diesen Ansatz weniger wünschenswert, weil dort auch andere Dinge vor sich gehen.
https://virtualenv.pypa.io/en/latest/userguide.html#activate-script
Zwei beliebte Alternativen ich auch sind verwendet haben:
2. .env
mit autoenv
Unabhängig von virtualenv, eine andere Annäherung an das gleiche Problem zu lösen ist autoenv ‚Kenneth Reitz, die automatisch ein .env
Quellen, wenn Sie in das Projektverzeichnis cd. Ich benutze dieses nicht mehr viel.
https://github.com/kennethreitz/autoenv
3. .env
mit Python Entkoppeln
Wenn Sie nur die Umgebungsvariablen für Python-Code müssen (und nicht zum Beispiel in einem Shell-Skript in Ihrem Projekt), dann ist Python Entkoppeln ein verwandte Ansatz, der eine vereinfachte .env
Datei im Stammverzeichnis Ihres Projekts verwendet. Ich benutze es heutzutage immer öfter persönlich.
https://github.com/henriquebastos/python-decouple/
Ich bin etwas überrascht, das zu sehen ist, nicht in The Hitchhiker's Guide to Python - Virtual Environments ausführlich diskutiert. Vielleicht können wir aus dieser Frage eine Pull-Anfrage generieren.
Ich habe versucht, einen Überblick über die häufigsten Optionen in meiner Antwort unten zu geben, um zu vermeiden, dass diese Frage als Meinung/Diskussion markiert wird. –
@tedmiston ja, diese Frage ist nicht wie "wie zwei Ganzzahlen in Python hinzufügen?" Gibt es keine einzige richtige Antwort. Da es bereits drei Stimmen gibt, glaube ich nicht, dass die Polizei von StackO diese Meinung/Diskussionsfrage bemerken wird ...Ja, strikt das Lesen der StackO-Regeln, sollte diese Frage geschlossen werden :-) – guettli
Ich hoffe, dass jemand anderes eine weitere Antwort zum Vergleich hinzufügen wird. Dies ist sicherlich ein Problem, das wir alle haben. –