Verwendung von virtualenv mit älteren Django-Projekten

8

Ich werde endlich beginnen, virtualenv für meine Django-Projekte auf meiner Entwicklungsmaschine zu verwenden. Bevor ich anfange, möchte ich wissen, ob es besondere Überlegungen für den Umgang mit meinen bestehenden Projekten gibt. Mein vermutlicher Workflow ist etwas wie:

  1. mach ein neues virtualenv
  2. aktiviere den neuen virtualenv
  3. Installiere Django dort
  4. pip installiere alle Pakete, die ich für mein bestehendes Projekt benötige
  5. kopiere meine Django-Projektdateien, App-Dateien und git-Dateien in den Projektordner innerhalb des virtualenv.

Bearbeiten 6. Erstellen Sie eine Anforderungsdatei für die Bereitstellung

Dies ist offensichtlich sehr vereinfacht, aber gibt es irgendwelche Schritte oder Überlegungen, die ich grundsätzlich vermisse? Wird sich etwas über das Bewegen freuen? Ist es auch die beste Praxis, ein eigenes virtualenv für jedes Django-Projekt zu haben?

Ich weiß, dass dies kein typisches Codeproblem ist, aber ich hoffe, dass diejenigen, die mehr wissen als ich, mir in die richtige Richtung weisen kann.

Vielen Dank.

    
Darwin Tech 21.03.2012, 16:15
quelle

1 Antwort

6

Ich sehe kein großes Problem bei der Migration Ihrer Projekte und ich denke, Ihr 5-Schritte-Plan ist korrekt, insbesondere für die Schritte 3/4/5 (ich würde sie zusammenführen), mit denen Sie Projektabhängigkeiten umgehen können pip, möglicherweise unter Verwendung von Anforderungsdateien .

Anforderungsdateien sind Klartextdateien, die angeben, welche Pakete in Ihrem virtualenv installiert werden müssen, inklusive Ihrer git-tracked Projekte, die schließlich in Ihrer virtuellen Umgebung als Entwicklungseier eingesetzt werden können (sie enthalten Versionskontrollinfos). Sobald Sie eine req-Datei haben, ist es eine Frage von:

%Vor%

Damit alle benötigten Pakete in Ihrem env installiert werden. Wie Sie aus virtualenv-Dokumenten entnehmen können, enthält eine typische req-Datei etwa Folgendes:

%Vor%

Ich behalte normalerweise jedes Projekt in seinem eigenen virtualenv, so dass ich es auf den Produktionsserver genauso wie ich für die lokale Entwicklung bereitstellen kann.

    
Masci 21.03.2012, 16:40
quelle

Tags und Links