Installation in OpenSuse und sys.prefix

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
stam
User
Beiträge: 7
Registriert: Freitag 11. Januar 2008, 20:12
Kontaktdaten:

Hallo,

ich bin gerade dabei, ein kleines Programm zu schreiben und bin dabei auf folgendes Problem gestoßen:

Für einen Toolbar-Button habe ich das Icon selbst erstellt und installiere es mit den distutils via

Code: Alles auswählen

setup(....., data_files = [('share/myapp', 'data/someicon.png')], ...)
Laut http://docs.python.org/dist/node13.html wird das Icon dann in sys.prefix/share/myapp/someicon.png installiert, weshalb ich innerhalb des Programms diesen Pfad nutze, um auf das Icon zuzugreifen.

Dies scheint problemlos zu funktionieren (Debian, Ubuntu, Fedora, Windows), nur in OpenSuse (10.3) führt das zu Komplikationen:

Die Datei wird in /usr/local/share/myapp/someicon.png installiert, sys.prefix ist jedoch /usr, was zu einem Fehler führt, da die Datei nicht gefunden werden kann.

Wisst ihr, woran das liegen könnte? Wer von euch kennt sich mit OpenSuse gut aus? Oder sollte ich generell einen anderen Ansatz wählen, um auf selbst installierte Icons zuzugreifen?

Vielen Dank für eure Hilfe,
Eike
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hallo,

ich finde das Problem, wie Du, reichlich seltsam. Wenn es auf anderen Systemen funktioniert, warum soll dann bei OpenSuSE abweichen? Hast Du schon mal bei OpenSuSE-Entwicklern nachgefragt, was dort bei der Pythoninstallation besondern sein könnte? Und wie man das ggf. abstellen kann? Das jedenfalls würde ich hier raten, denn sonst bist Du u. U. schnell dabei aufwendigere Lösungen zu entwickeln, als es vielleicht geraten ist.

Gruß,
Christian
stam
User
Beiträge: 7
Registriert: Freitag 11. Januar 2008, 20:12
Kontaktdaten:

Danke für deine Antwort, Christian!

Ich habe an die Suse Entwickler geschrieben, aber bisher noch kein Feedback bekommen. Sobald ich näheres weiß, werde ich es hier der Vollständigkeit halber posten.

Natürlich könnte man leicht einen workaround nutzen, indem man einfach alle möglichen Verzeichnisse nach dem Icon durchsucht, aber dagegen sträube ich mich ebenfalls. Schließlich programmiere ich in Python, weil ich klaren, einfachen Code mag :wink:
Antworten