Probleme mit wxPython und SPE seit Ubuntu-Upgrade (9.04)

Plattformunabhängige GUIs mit wxWidgets.
Antworten
TiKaey
User
Beiträge: 84
Registriert: Montag 24. November 2008, 20:48

Vielleicht kennt jemand von euch eine Lösung.

Ich habe bisher einwandfrei mit SPE und wxPython arbeiten können, wobei ich jetzt nicht mehr sagen kann, welche Version das unter 8.10 war. (Python selbst in der 2.5)

Seit dem Upgrade habe ich nun einen Fehler bei meinem Programm bemerkt, indem ein Label verändert werden soll.

Code: Alles auswählen

self.lblInterpret.Label = artist
Bis zum Upgrade hat das auch einwandfrei funktioniert, jetzt kommt dabei folgende Fehlermeldung:
AttributeError: 'StaticText' object has no attribute 'Label'

Aufgefallen ist mir, dass das passiert sobald SPE installiert ist, der warum auch immer sowohl python-wxgtk2.6 als auch python-wxgtk2.8 mitinstallieren will (aus den Repositories).
Habe ich nur eines der beiden, in diesem Fall python-wxgtk2.8 drauf, ist auch das Attribut wieder bekannt. Aber dann gibt es halt kein SPE.

Kann mir das jemand bestätigen (Irgendjemand fährt hier doch bestimmt auch Ubuntu ;o) oder kennt jemand eine Lösung? Jetzt habe ich mich an SPE gewöhnt...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

TiKaey hat geschrieben:Kann mir das jemand bestätigen (Irgendjemand fährt hier doch bestimmt auch Ubuntu ;o)
Hallo TiKaey!

Ich kann das bestätigen. Es ist also nicht nur bei dir so. Eine Lösung weiß ich allerdings nicht, da ich SPE nicht verwende.

Man kann ein Programm so schreiben, dass eine bestimmte wxPython-Version verwendet wird. Siehe: http://www.python-forum.de/post-132085.html#132085

Allerdings löst das nicht das Problem, dass alle anderen Programme standardmäßig wxPython 2.6 verwenden, wenn dieses installiert ist.

Es gibt, glaube ich, eine Möglichkeit, wxPython 2.8 als Standard einzustellen. Dann muss man nur noch die Programme anpassen, die unbedingt wxPython 2.6 brauchen.

Leider habe ich auf die Schnelle nicht herausgefunden, wie das Tool dafür heißt. Also ist mein ungetesteter Lösungsvorschlag der, dass man in der "sitecustomize.py" den Pfad so anpasst, dass wxPython zuerst im 2.8-Pfad gesucht wird und dann erst im 2.6-Pfad. Ich habe im Moment aber Windows XP gestartet. Deshalb kann ich nicht mehr dazu schreiben.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
TiKaey
User
Beiträge: 84
Registriert: Montag 24. November 2008, 20:48

Danke,

ich habe von einem meiner Windows-vs-Linux-Blogleser helfende Info bekommen.

-----------------
Das Problem ist, dass "spe" abhängt von den Paketen "kiki" und "python-wxglade". "kiki" wiederum hängt von "python-wxgtk2.6" ab und "python-wxglade" dummerweise von "python-wxgtk2.8".

Damit landen beide Versionen bei der Installation von Spe auf der Platte und behindern sich bzw. diese beiden anderen Pakete.
Eine Forderung, die das Problem auch beheben würde, gibt es bereits: https://bugs.launchpad.net/ubuntu/+sour ... bug/288724
-----------------

Als Workaround kann man die beiden störenden Pakete entfernen, muss dieses jedoch bei jedem Update manuell beibehalten, damit der Fehler nicht wieder auftritt, zumindest bis das Problem der Abhängigkeiten beseitigt ist.
'sudo dpkg -r --force-depends python-wxgtk2.6 kiki' in der Konsole, und sowohl SPE als auch wx-Apps funktionieren wieder ohne angeblich nicht vorhandene Argumente.
Antworten