2017-11-15 3 views
0

Ich habe eine einfache flash-App, in der ich virtualenv für die Verwaltung meiner Abhängigkeiten verwende. Ich möchte jedoch meine Abhängigkeiten trennen. Zum Testen verwende ich Flask-Testing, aber dies ist eine Abhängigkeit, die ich nicht in meine Produktionsumgebung aufnehmen möchte.Trennung von Entwicklungs- und Produktionsabhängigkeiten mit virtualenv

Wie kann ich meine Abhängigkeiten trennen, so dass ich separate Abhängigkeiten für die Entwicklung und für die Produktion habe?

+0

Verwenden Sie zwei verschiedene 'requirements.txt'-Dateien? –

+0

Sie können für jede Umgebung verschiedene Dateien erstellen. Überprüfen Sie [diese Antwort] (https://stackoverflow.com/a/20720019/5741172) –

Antwort

1

Sie können mehrere requirements.txt Dateien für verschiedene Umgebungen haben. z.B. requirements_dev.txt, requirements_prod.txt ...

Diese Dateien hätten unterschiedliche (auch Versionen) gepinnte Pakete. Sie können generiert werden, indem manuell Pakete installiert werden und dann die Ausgabe von pip freeze in eine Datei geleitet wird.

+0

Wenn ich das tue, wie kann ich die verschiedenen Umgebungen auf meinem lokalen Rechner verwenden? Kann ich auf der Grundlage meiner verschiedenen requirement.txt-Dateien die Umgebung wechseln? Ich werde jedes einzelne Paket installiert haben, das sich in einer meiner requirement.txt-Dateien befindet, und ich weiß zum Beispiel nicht, ob meine Testumgebung nur dann ein Paket enthält, wenn ich die Tests auf dem Server durchführe. – handris

+0

@handris Im Allgemeinen Anforderungen - *. Txt Dateien haben nur zusätzliche Pakete, die Sie nicht woanders wollen. Zum Beispiel werden die Requests-dev.txt Debugger usw. haben, während die Datei requirements_test.txt auch Test-Bibliotheken enthält. Es sollte also kein Problem sein, wenn Sie alle installieren (Sie werden also immer die Basis-/Hauptdatei installieren, aber andere abhängig von der Umgebung von test/dev/prod). Ansonsten können Sie auch verschiedene Anforderungsdateien in verschiedenen virtualenv installieren, mit 'pip install -r requirement_file.txt'. – tayfun