Frage

Dies sollte ein gängiges Szenario, aber konnte keinen relevanten Beitrag findet noch ..

Ich plane, eine Python-Bibliothek bereitstellen (Ich denke, das gleiche zu regelmäßigen Anwendungen gilt), die Verwendung einiger Bilder und andere Ressourcen-Dateien macht. Was ist die Standardposition für diese Gegenstände? stelle ich mich vor, für das Projekt Foo, wäre die Auswahl

  • resources Verzeichnis im Repository, und dann verschieben Sie Dateien auf /usr/share/foo/
  • Schwarze Ressourcen direkt in dem Python-Paket, das unter /usr/lib/python-<version>/foo/
  • geht

Irgendwelche Vorschläge?

Edit:. Wie bereits angedeutet, stellt klar, dass die Hauptplattform dies wird unter Linux ist

War es hilfreich?

Lösung

Diese Frage ist etwas unvollständig, weil eine richtige Antwort auf das zugrunde liegende Betriebssystem abhängen würde, da jeder seine eigene Arbeitsweise hat. In Linux (und die meisten Unix-basierten Betriebssystemen) zum Beispiel / usr / share / foo oder / usr / local / share / foo würde der Standard sein. In OS X können Sie das gleiche tun, aber ich würde denken, „/ Library / Application Support / Foo“ (obwohl das in der Regel für Einstellungen und so weiter speichern) würde der Ort sein, um solche Dinge zu setzen, obwohl, wenn Sie Bibliotheken gerade schreiben die folgenden „Framework“ Idee, alle Ressourcen würden in der /Library/Frameworks/Foo.Framework“enthalten sein ... Apps auf OS X auf der anderen Seite sollten alle dort Ressourcen hält im Verzeichnis Resources innerhalb Foo.app

Andere Tipps

Wir setzen nicht Py Dateien in /opt/foo/foo-1.2/...

Außer natürlich, für statische Medien, die von Apache serviert wird, das /var/www/html/foo/foo-1.1/media/... geht

Außer natürlich, für kundenspezifische Konfigurationsdateien. Sie gehen nach /var/opt/customer/foo/...

Die folgen Sie den Linux-Standards, wie ich sie verstehe.

Wir versuchen, von /usr/lib/ und /lib Arten von Orten zu bleiben weg, weil diejenigen fühlen, wie sie Teil der Verteilung sind. Wir neigen zu /opt und /var, weil sie sich deutlich von den Linux-Distribution Verzeichnisse getrennt sind.

Die Standard Ort ist, wo Ihr Standard-Libs geht. Aber es klingt nicht zu mir von dem, was Sie geschrieben haben, dass Sie Ihren Python dort lib wollen werden. Ich denke, Sie sollten versuchen, virtualenv .

Wenn Sie wollen alle nicht gehen durch die Mühe (na ja, es ist wirklich nur Beträge für Sie sudo easy_install virtualenv), könnten Sie versuchen nur Ihre Python lib in jedem dir Dump in Ihrem ~/ und tun etwas entlang der Linien von

import sys
sys.path.append( '/full/path/to/your/lib/goes/here')

zu einer bestimmten Anwendung, die Ihre lib verwendet.

Bitte beachten Sie, dass die angeführten Beispiele nur für Testzwecke sind. Für alles, was Live-ish, würde ich empfehlen, dass Sie distutil . Anwendungsbeispiele gegeben hier .

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