Frage

Ich habe ein Python-Ei mit Setuptool erzeugt und mag Metadaten es zur Laufzeit zugreifen zu können. Ich habe zur Zeit arbeiten diese:

import pkg_resources
dist = pkg_resources.get_distribution("my_project")
print(dist.version)

aber das würde wahrscheinlich nicht richtig funktionieren, wenn ich mehrere Versionen des gleichen Eis installiert habe. Und wenn ich beide installiert Ei und Entwicklungs-Version haben, dann läuft diesen Code von der Entwicklung Version würde Version des installierten Ei abholen.

Also, wie kann ich Metadaten für mein Ei nicht einige zufällige passende Ei auf meinem System installiert?

War es hilfreich?

Lösung

Ich bin etwas Neues zu Python als gut, aber von dem, was ich verstehe:

Auch wenn Sie mehrere Versionen des „gleichen“ Eis (mit dem gleichen Namen) installieren können, nur einer von ihnen wird zu einem bestimmten Stück Code zur Laufzeit verfügbar sein (basierend auf der Ermittlungsmethode). Also, wenn Ihr Ei derjenige ist, diesen Code aufrufen, müssen sie bereits als ausgewählt worden sind die Version von my_project für diesen Code, und Ihr Zugang wird auf Ihre eigene Version sein.

Andere Tipps

Genau. So sollten Sie nur in der Lage sein, die Informationen für das aktuell verfügbare Ei (Singular) eine Bibliothek zu erhalten. Wenn Sie mehrere Eier der gleichen Bibliothek in Ihren Website-Paketen Ordner, überprüfen Sie die easy-install.pth im selben Ordner zu sehen, haben das Ei ist wirklich verwendet: -)

Auf einer Website Anmerkung: Das ist genau der Punkt, von Systemen wie zc.buildout, die Sie die genaue Version einer Bibliothek definieren kann, die Sie zum Beispiel zur Verfügung gestellt werden, während der Entwicklung eine Anwendung oder eine Web-Anwendung dient. So können Sie beispielsweise verwenden Version 1.0 für ein Projekt und 1.2 für einen anderen.

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