2016-09-09 2 views
4

Also erstelle ich eine brandneue Flask-App von Grund auf neu. Wie alle guten Entwickler machen, war mein erster Schritt, eine virtuelle Umgebung zu erstellen.Verwalten von Inhalten der requirements.txt für eine virtuelle Python-Umgebung

Das erste, was ich in der virtuellen Umgebung installieren ist Flask == 0.11.1.Flask installiert seine folgenden Abhängigkeiten:

  • Klick == 6.6
  • itsdangerous == 0,24
  • Jinja2 == 2,8
  • MarkupSafe == 0,23
  • Werkzeug == 0.11.11
  • Rad == 0.24.0

Nun erstelle ich eine requirements.txt um sicherzustellen, jeder das Repository Klonen hat die gleiche Version des libraries.However, mein Dilemma ist dies:

  • Muss ich erwähnen, die jeweils der Kolben Abhängigkeiten in der requirements.txt zusammen mit den Versionsnummern OR
  • erwähnen ich nur die genaue Flask Versionsnummer in der requirements.txt und hoffen, dass, wenn sie ein tun requirements.txt installieren pip, Glaskolben wird der Abhängigkeitsmanagement kümmern und sie werden die richtigen Versionen der abhängigen Bibliotheken
+1

Werfen Sie einen Blick auf die 'pip-compile' Befehl in [pip-tools] (https://github.com/nvie/pip-tools/blob/master/README.md). – dirn

+0

@ dirn..das ist wirklich nett..danke dafür .. – Amistad

Antwort

1

Beide Ansätze sind gültig und arbeiten. Aber es gibt einen kleinen Unterschied. Wenn Sie alle Abhängigkeiten in der requirements.txt eingeben, können Sie die Versionen von ihnen festlegen. Wenn du sie weglässt, könnte es ein späteres Update geben und wenn Flask etwas wie Werkzeug>=0.11 in seinen Abhängigkeiten hat, wirst du eine neuere Version von Werkzeug installiert bekommen.

Es geht also um Updates im Vergleich zu definierten Umgebung. Was auch immer dir besser passt.

3

Sie können (aus der aktiven virtuellen Umgebung) herunterladen Folgendes tun

die automatisch für alle Bibliotheken/Module in Ihrem Projekt zur Verfügung stehen.

Der nächste Entwickler würde nur ausgeben müssen:

pip install -r requirements.txt 
8

Eine gute Sache hier ist, Sie verwenden virtualenv, die Ihre Aufgabe sehr einfach machen wird.

  1. aktivieren virtualenv ($source path_to_virtualenv/bin/active)
  2. zu einem Projekt Stammverzeichnis Go
  3. Holen Sie sich alle Pakete zusammen mit Abhängigkeiten in Anforderungen.txt

    pip freeze > requirements.txt 
    
  4. Sie nicht nichts kümmern müssen sonst außer dafür, dass nächste Person installiert die Anforderungen rekursiv durch Befehl folgende

    pip install -r requirements.txt 
    
Verwandte Themen