Geben Sie die Python-Version für Virtualenv in Requirements.txt an

8

Ich benutze virtualenv, um eine Django-Anwendung mit einem Team zu entwickeln. Der Server, auf dem wir bereitstellen, führt Python 2.6 aus, aber der Standard für unsere Maschinen ist 2.7.3. Gibt es eine Möglichkeit, die Python-Version in der Datei anforderungs.txt oder etwas Ähnliches innerhalb der Codebasis anzugeben?

Ich weiß, Requirements.txt ist eine Pip-Sache, und Python-Version ist eine virtualenv-Sache, aber es wäre wirklich bequem, nicht jeder neuen Person zu erzählen, die sich dem Team anschliesst, wie man ihren virtualenv einrichtet.

    
Arion 09.08.2012, 18:43
quelle

3 Antworten

4

Weder pip noch virtualenv installieren Python (obwohl Pip-Versuche ). Sie verwenden alles, was Sie angeben.

Sie könnten eine README schreiben, in der die erforderliche Python-Version erwähnt wird oder ein Fabric -Skript bereitstellen, das auf localhost bereitgestellt werden kann und dort die Version angeben kann. Beispiel: Anweisungen zum Installieren von virtualenv, pip, distribuieren .

Für diejenigen, die keine Anweisungen lesen, könnte es ein CI-System geben ( jenkins , buildbot ), die Komponententests mit unterstützten Python-Versionen (vor / nach dem Commit) ausführen können.

Um mehrere Python-Installationen zu verwalten, könnten Sie etwas wie pythonz verwenden.

    
jfs 09.08.2012, 18:58
quelle
2
  

Es wäre wirklich praktisch, nicht jeder neuen Person etwas sagen zu müssen   Verbinden Sie das Team, wie Sie ihr virtualenv einrichten

Fügen Sie es einfach zu den normalen Anweisungen hinzu, die Sie neuen Mitgliedern beim Join geben; direkt an der gleichen Stelle, wenn Sie ihnen über das interne Dokumentations-Wiki, das Passwort zum Wifi und die Telefonnummer zum Sandwichlieferdienst erzählen.

Es wird extrem unzugänglich sein, den Leuten nichts sagen zu müssen und sie selbst herausfinden zu lassen; Beim ersten Mal senden sie etwas, das collections.Counter verwendet, nur um herauszufinden, dass es den Build zerstört hat, da der Server nicht über 2.7.x

verfügt     
Burhan Khalid 09.08.2012 18:58
quelle
0

Laut Ihrem Kommentar sollte das einzige Problem hier sein, sicherzustellen, dass kein 2.7-Code in Ihre Codebasis eingeht. Dafür empfehle ich, tox zu verwenden und es so zu konfigurieren, dass eine 2.6 -Umgebung zum Testen erstellt wird Ihre Mitarbeiter führen Ihre Testsuite aus, die Tests werden in einer 2.6 virtuellen Umgebung ausgeführt.

    
Julian 09.08.2012 22:10
quelle

Tags und Links