Frage

Ich habe ein Java-Entwickler sein, und wir verwendeten Werkzeuge wie Ameise oder Maven unsere Entwicklung / testing / UAT-Umgebungen in einer standardisierten Art und Weise zu verwalten. Dies erlaubte uns, Bibliotheksabhängigkeiten zu handhaben, OS Variablen einstellen, Kompilieren, Bereitstellung Lauf Unit-Tests und alle erforderlichen Aufgaben. Außerdem erzeugt die Skripte garantiert, dass alle Umgebungen wurden fast ebenso konfiguriert, und alle die Aufgabe, auf die gleiche Art und Weise von allen Mitgliedern des Teams durchgeführt.

Ich fange jetzt in Python zu arbeiten, und ich möchte Ihren Rat, in der Werkzeuge sollte ich das gleiche zu erreichen verwenden wie für Java beschrieben.

War es hilfreich?

Lösung

  1. virtualenv eine enthaltenen virtuelle Umgebung zu schaffen (verhindert verschiedene Versionen von Python oder Python Pakete von aufeinander stampfen). Es gibt immer mehrere Summen von Menschen zu diesem Werkzeug zu bewegen. Der Autor ist der gleiche wie der ältere working-env.py von Aaron erwähnt.

  2. pip Pakete innerhalb eines virtualenv zu installieren. Die traditionelle ist easy_install wie von S. Lott beantwortet, aber Pip funktioniert besser mit virtualenv. easy_install noch hat die Eigenschaften, allerdings nicht in pip gefunden.

  3. scons als Build-Tool, obwohl Sie dies nicht benötigen, wenn Sie bleiben rein Python .

  4. Stoff Paste oder Fertiger für die Bereitstellung.

  5. buildbot für kontinuierliche Integration.

  6. Bazaar, Mercurial oder Git für die Versionskontrolle.

  7. Nose als Erweiterung für Komponententests.

  8. PyFit FIT Tests.

Andere Tipps

Ich arbeite auch mit Java und Python. Für Python Entwicklung ist die Maven-Äquivalent Setuptools ( http://peak.telecommunity.com/DevCenter/setuptools). Für die Entwicklung von Webanwendungen verwende ich diese in Kombination mit Paster ( http://pythonpaste.org/ ) für den Bereitstellungsprozess

Anders als easy_install ?

Für unseren Linux-Server verwenden wir easy_install und yum.

Für unsere Windows-Entwicklung Laptops, die wir verwenden easy_install und ein paar MSI für einige Projekte.

Die meisten der Python-Bibliotheken verwenden wir sind nur im Quellcode, so können wir die gleiche Verteilung auf alle Boxen verwenden. Wenn wir über ein Netzwerk gemeinsam genutzte Gerät haben könnten, würden wir sie alle dort setzen. Leider ist unsere Infrastruktur Art verstreut, so müssen wir entweder TAR-Dateien um oder wiederholen Sie die Installationen bewegen, um die Umgebungen neu zu erstellen.

In einigen Fällen (zum Beispiel PIL), müssen wir die Versionsnummern neu kompilieren und überprüfen.

Sie wollen easy_setup um die Eier zu bekommen (in etwa, was Maven ruft ein Artefakt).

Für Ihre Umgebung einrichten, haben einen Blick auf working-env.py

Python ist nicht kompiliert, aber Sie können alle Dateien für ein Projekt in einem Ei legen. Dies geschieht mit Setuptools

Für CI, überprüfen diese Antwort .

Wir würden nachlässig, auch nicht zu erwähnen Paver , die von Kevin Dangoor erstellt wurde von Turbogears Ruhm. Das Projekt ist noch im Alpha, aber es scheint sehr vielversprechend. Ein Ausschnitt aus der Projektseite:

  

Fertiger ist ein Python-basiertes Build / Vertrieb / deployment Scripting-Tool entlang der Linien von Fabrikat oder Rake. Was macht Paver einzigartig ist die Integration mit gängigen Python-Bibliotheken verwendet. Gemeinsame Aufgaben, die einfach vor waren bleiben einfach. Noch wichtiger ist, ist jetzt mit Ihren Anwendungen spezifischen Bedürfnissen und Anforderungen zu tun viel einfacher.

ich tun genau dies mit einer Kombination von Setuptools und Hudson. Ich weiß, dass Hudson eine Java-Anwendung ist, aber es kann Python Sachen läuft gut.

Sie möchten unsere Devenv . Es ermöglicht Ihnen, die Build-Umgebungen für Entwicklung, QA und UAT zu standardisieren. Es ist kostenlos, wie in „Freibier“.

HTH

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top