Frage

Ich habe einige über .ei-Dateien und ich habe gemerkt, in meinem lib-Verzeichnis, aber was sind die Vorteile/Nachteile bei der Verwendung dann als Entwickler?

War es hilfreich?

Lösung

Aus der Python Enterprise Application Kit Gemeinschaft:

"Eier sind Pythons als Gläser sind, um Java..."

Python-Eier sind eine Möglichkeit der Bündelung von zusätzliche Informationen mit Python Projekt, das ermöglicht das Projekt Abhängigkeiten werden überprüft und zufrieden zur Laufzeit, sowie so dass die Projekte zu bieten plugins für andere Projekte.Es gibt mehrere binäre Formate, verkörpern Eier, aber die häufigste ist".ei' zipfile format, weil es bequemer für die Verteilung der Projekte.Alle Formate support, einschließlich package-spezifische Daten -, Projekt-Breite Metadaten, C-Erweiterungen und Python code.

Die wichtigsten Vorteile der Python-Eier sind:

  • Sie ermöglichen tools wie der "Easy Install" Python-Paket-manager

  • .ei-Dateien sind ein "zero installation" - format für eine Python Paket;kein erstellen oder installieren Schritt erforderlich, nur setzen Sie Sie auf PYTHONPATH oder sys.Weg und verwenden Sie Sie (möglicherweise benötigen die Laufzeitumgebung installiert, wenn Sie C-Erweiterungen oder Daten-Dateien verwendet werden)

  • Sie können auch Paket-Metadaten, wie die anderen Eier, die Sie abhängen

  • Sie erlauben namespace "packages" (Pakete, bestehen nur aus einem anderen Pakete) werden aufgeteilt in separate Distributionen (z.B.zope., twisted., Spitze.* Pakete, die verteilt werden können, als trennen Sie Eier, im Gegensatz zu normalen Paketen die muss immer unter dem gleichen übergeordneten Verzeichnis.Dies ermöglicht was sind nun riesige monolithische Pakete verteilt werden als separate Komponenten.)

  • Sie erlauben es, Anwendungen oder Bibliotheken zu geben Sie die benötigten version einer Bibliothek, so dass Sie können z.B.require("Twisted-Internet>=2.0") bevor Sie einen import twisted.internet.

  • Sie sind ein tolles format für das verteilen von Erweiterungen oder plugins erweiterbare Anwendungen sowie frameworks (wie Trac, die Eier verwendet für plugins als 0.9b1), weil das ei runtime bietet einfache APIs zu finden Eier und finden Ihren Eintrag beworben Punkte (ähnlich wie Eclipse ist "extension point" - Konzept).

  • Es gibt auch andere Vorteile, die kommen mit einem standardisierten format, ähnlich wie die Vorteile von Java "- jar" - format.

-Adam

Andere Tipps

Ein ei selbst ist nicht besser als eine richtige Quelle release.Der gute Teil ist die Abhängigkeit der Handhabung.Wie debian-oder rpm-Pakete, können Sie sagen, dass Sie abhängig von anderen, Eier und Sie werden automatisch installiert (durch pypi.python.org).

Eine zweite Bemerkung:die ei-format selbst ist ein Binär-format verpackt.Normalen python-Pakete bestehen aus nur python-code am besten verteilt, die als "source-releases", also "python setup.py sdist", die in einem .tar.gz.Diese werden auch Häufig als "Eier" beim Upload to pypi.

Wo Sie brauchen, binäre Eier:wenn Sie die Bündelung von C-code-Erweiterung.Sie müssen mehrere binäre Eier (32bit unix one, windows, und so weiter.) dann.

Eier sind eine ziemlich gute Möglichkeit zum verteilen von python-apps.Betrachten Sie es als ein unabhängig von der Plattform .deb-Datei installieren alle Abhängigkeiten und so weiter.Der Vorteil ist, dass es einfach zu bedienen für Ende Benutzer.Der Nachteil ist, dass es mühsam sein kann, um Paket Ihre app als .ei-Datei.

Sie sollte bieten auch eine alternative für die installation zusätzlich an .Eier.Es gibt einige Leute, die nicht gerne mit den Eiern, weil Sie nicht wie die Idee von einem software-Programm installieren, was die software will.Diese in der Regel neigen dazu, sysadmin-Typen.

.ei-Dateien sind im Grunde ein schöner Weg, um die Bereitstellung Ihrer python-Anwendung.Sie können denken, es als etwas wie .jar-Dateien für Java.

Mehr info hier.

Was auch immer Sie tun, nicht aufhören, Ihre Anwendung verteilen, auch, als ein tarball, da es die einfachste packagable format für Betriebssysteme mit einem Paket sysetem.

Für einfache Python-Programme, die Sie wahrscheinlich nicht verwenden müssen Eier.Verteilung der Rohstoffe .py-Dateien ausreichen sollte;es ist wie verteilen source-Dateien für den GNU/Linux.Sie können auch verwenden die verschiedenen OS "packagers" (wie py2exe oder py2app) zu erstellen .exe, .dmg, oder auch andere Dateien für verschiedene Betriebssysteme.

Komplexere Programme, z.B.Django, der ziemlich viel erfordern Eier durch die verschiedenen Module und Abhängigkeiten erforderlich.

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