Seite 1 von 1

wxPython und Ubuntu

Verfasst: Dienstag 25. April 2006, 17:24
von mikrokosmos
Hallo,

ich habe ein Problem bei der Installation von wxPython unter Ubuntu 5.10.
Per Synaptic habe ich die Pakete
  • python-wxglade
    python-wxgtk2.6
    python-wxtools
    python-wxversion
    libwxgtk2.6-0
    libwxgtk2.6-dev
    wx2.6-headers
installiert.
Allerdings wird das Modul wx immer noch nicht gefunden, obwohl sich im site-packages-Ordner von Python auch der Ordner wxPython befindet. SPE (was ja auch wxPython nutzt) läuft zudem ohne Probleme.

Was muss ich noch installieren/konfigurieren, um wx importieren zu können? Verschiedene Anleitungen, die ich per Suchmaschine im Internet gefunden habe, konnten mir nicht weiterhelfen.

Verfasst: Dienstag 25. April 2006, 19:45
von mitsuhiko

Code: Alles auswählen

>>> from wxPython import wx
>>>
Kein problem hier. Installiert hab ich nur python2.4-wxgtk2. Rest machte apt.

Verfasst: Dienstag 25. April 2006, 21:42
von Leonidas
In Ubuntu ist python-wxgtk2.6 dabei und dort funktioniert der wx-Namespace nicht? Hä?

Verfasst: Mittwoch 26. April 2006, 13:49
von mikrokosmos
Argh, mein erster Beitrag in diesem Forum, und der ist natürlich sofort falsch... peinlich :oops:

Kein Wunder, dass Ihr Euch wundert. Ich hätte vielleicht noch daran denken sollen, dass ich nicht das mitgelieferte Python benutze, sondern, dass ich es aus den Quellen per

Code: Alles auswählen

./configure
make
make install
selbst gebaut habe, um Python 2.4.3 benutzen zu können. Dies hat anscheinend zur Folge, dass nur auf die module in /usr/local/lib/python2.4 zugegriffen werden kann. wxPython liegt aber in /usr/lib/python2.4/site-packages.
Kann ich nun gefahrlos das site-packges-Verzeichnis aus /usr/lib/python2.4 nach /usr/local/lib/python2.4 kopieren? Das dortige ist nämlich noch bis auf die README jungfäulich leer.

Ich hoffe, dass mir mein Fehler nochmal verziehen wird. ;)

Verfasst: Mittwoch 26. April 2006, 14:03
von mitsuhiko
Leonidas hat geschrieben:In Ubuntu ist python-wxgtk2.6 dabei und dort funktioniert der wx-Namespace nicht? Hä?
Klar tut er. Siehe den post drüber. Er hat nur sein normales python dir nicht im PYTHONPATH.

Verfasst: Mittwoch 26. April 2006, 14:39
von Leonidas
mikrokosmos hat geschrieben:Kann ich nun gefahrlos das site-packges-Verzeichnis aus /usr/lib/python2.4 nach /usr/local/lib/python2.4 kopieren? Das dortige ist nämlich noch bis auf die README jungfäulich leer.
Ja, da es Python 2.4 ist, sollte es warscheinlich möglich sein. Gegebenfalls kann es dann an inkompatiblen Compilerflags hacken, aber bezweifle ich jetzt. Einfach mal rüberkopieren und ausprobieren
mikrokosmos hat geschrieben:Ich hoffe, dass mir mein Fehler nochmal verziehen wird. ;)
Klaro!

Ich mahc das übrigens immer so: Python-Sourcen von Debian (oder Ubuntu) laden, und dann selbst Backports erstellen. Das ist recht praktisch, installiert Python an die richtige Stelle und das Paketsystem ist auch happy. Allerdings etwas aufwendiger als der Installationsdreiklang.

Verfasst: Mittwoch 26. April 2006, 15:23
von mikrokosmos
Sodala, site-packages habe ich nach /usr/local/lib/python2.4 kopiert und das Modul wird gefunden. Jedoch:

Code: Alles auswählen

>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/__init__.py", line 42, in ?
    from wx._core import *
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core.py", line 4, in ?
    import _core_
ImportError: /usr/local/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core _.so: undefined symbol: PyUnicodeUCS4_FromEncodedObject
Versuche ich, wxPython zu importieren, wird eine ähnliche Fehlermeldung ausgegeben:

Code: Alles auswählen

>>> import wxPython
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wxPython/__init__.py", line 10, in ?
    import _wx
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wxPython/_wx.py", line 3, in ?
    from _core import *
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wxPython/_core.py", line 15, in ?
    import wx._core
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/__init__.py", line 42, in ?
    from wx._core import *
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core.py", line 4, in ?
    import _core_
ImportError: /usr/local/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core_.so: undefined symbol: PyUnicodeUCS4_FromEncodedObject
Irgendwie ungünstig. :?

Verfasst: Mittwoch 26. April 2006, 15:35
von mitsuhiko
aua, aua, aua. Kopieren tuen nur windows user
Mach mal das mit dem Kopieren rückgängig

Und dann füg einfach die zwei normalen verzeichnisse (site-packages und den python2.4 ordner) in den PYTHONPATH deiner neuen installation hinzu.

Verfasst: Mittwoch 26. April 2006, 15:36
von Leonidas
mikrokosmos hat geschrieben:Irgendwie ungünstig. :?
Zur Not kannst du ja auch wxPython selbst kompilieren. Geht vermutlich über die distutils und ist gar nicht so schwer, zumindest unter Linux.