import wx funktioniert nicht (gelöst)

Plattformunabhängige GUIs mit wxWidgets.
Antworten
ello
User
Beiträge: 14
Registriert: Montag 18. Juli 2005, 16:35
Wohnort: Eberswalde
Kontaktdaten:

Hi,

ich bin nun ein absoluter Anfänger in sachen Python. Nachdem ich nun mit der Python Shell (nennt man das so?) ein wenig rumprobiert hab, wollte ich mir eine IDE installieren. Die Wahl viel auf DrPython.
Nun dafür wxWidgets und wxPython installiert. Beim start von DrPython kam, sowas wie "import wx" nicht möglich.
Also hab ich in der Python-Shell include wx versucht und siehe da, tatsächlich modul nicht gefunden.

Hat schonmal jemand wxPython aus den Sourcen installiert? Wenn ja, wie kann ich auf wx zu greifen? Gibts da eine Umgebungsvariable für Python, wo er nach Module sucht?

Einfach nachfragen, wenn hier Informationen fehlen. ;)

Danke schonmal im Vorraus!

Gruß
-ello

Oh: BS ist Linux und Python, wxWidgets, wxPython sind in prefix /usr installiert.
Zuletzt geändert von ello am Montag 18. Juli 2005, 22:20, insgesamt 2-mal geändert.
[i]Losing my passport was the least of my worries,
losing a notebook was a catastrophe[/i]
[b]--Bruce Chatwin[/b]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Es heißt import wx...

Warum nimmst du nicht wx aus dem RPM/DEB für Linux?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ello
User
Beiträge: 14
Registriert: Montag 18. Juli 2005, 16:35
Wohnort: Eberswalde
Kontaktdaten:

Oh, Sorry, habs eben korrigiert.

Ich hab ein (B)LFS. Also kommen rpm's, deb's oder andere Paketsysteme bei mir nicht in Frage.
[i]Losing my passport was the least of my worries,
losing a notebook was a catastrophe[/i]
[b]--Bruce Chatwin[/b]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Normalerweise müsste wx in site-packages sein, frag mich aber nicht wo das bei deinem OS ist ;)

Dort solltest du es ggf. reintun.

Python sucht Module in sys.path, wenn du mal nachgucken magst, davor musst du natürlich erst ein import sys machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ello
User
Beiträge: 14
Registriert: Montag 18. Juli 2005, 16:35
Wohnort: Eberswalde
Kontaktdaten:

Ah danke! Das könnte weiter helfen.
Also der Ordner site-packages ligt bei mir in /usr/lib/python2.4
Denn da sind bisher nur Sachen wie gtk und sowas drin. aber was von wx muss da rein?

Hier mal ein paar ausgaben meiner Installationen:

(@-}--)(0)(wxPython-src-2.6.1.0)>>ls /usr/lib/wx
2.5.3/ config/ include/
(@-}--)(0)(wxPython-src-2.6.1.0)>>ls /usr/share/wx
afm/ gs_afm/

Ich denke mal, dass libs entscheidend sind.

wxPython hat unter /usr/lib solche Sachen abgelegt:

/usr/lib/libwx_base-2.6.so
/usr/lib/libwx_base-2.6.so.0
/usr/lib/libwx_base-2.6.so.0.0.0
/usr/lib/libwx_base_net-2.6.so
/usr/lib/libwx_base_net-2.6.so.0
/usr/lib/libwx_base_net-2.6.so.0.0.0
/usr/lib/libwx_base_xml-2.6.so
/usr/lib/libwx_base_xml-2.6.so.0
...

Der rest von der Installation liegt in /usr/include.

Gruß
-ello
[i]Losing my passport was the least of my worries,
losing a notebook was a catastrophe[/i]
[b]--Bruce Chatwin[/b]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ja, der wx Odner muss in die site-packages rein, das ist auch der Grund warum GTK dort ist :)

Öhm, bei wx müssten auch so Sachen wie ein Ordner mit ein paar Py Dateien drin sein, unter anderem einer __init__.py. Warscheinlich heißt der Ordner bei wx 2.6 "wx", bei < 2.4 war es noch "wxPython".

Er findet halt die __init__.py von wx nicht, sonst würde er sich wegen fehlender (C-)Libs beschweren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ello
User
Beiträge: 14
Registriert: Montag 18. Juli 2005, 16:35
Wohnort: Eberswalde
Kontaktdaten:

Nagut, ich hab jetzt so einiges erolglos versucht. Jetzt werd ich nochmal das ganze wx-Zeugs in /opt installieren. In der Hoffnung, dass es übersichtlicher wird.
[i]Losing my passport was the least of my worries,
losing a notebook was a catastrophe[/i]
[b]--Bruce Chatwin[/b]
ello
User
Beiträge: 14
Registriert: Montag 18. Juli 2005, 16:35
Wohnort: Eberswalde
Kontaktdaten:

Es funktioniert!

Der lösungsweg ist ein bisschen komplizierter.

Also ich hab nun wxGTK und wxPython mit --prefix=/opt/wx kompiliert. Dann muss man noch im Sourcetree von wxPython in das Verzeichnis wxPython wechseln und folgendes eingeben:

Code: Alles auswählen

python setup.py build_ext --inplace --debug
Nun kann Python zwar immernoch nicht wx importieren, da er ja das Verzeichnis in seinen Variablen nicht findet. Um es Python nun begreiflich zu machen, hat man 2 (oder 3) Möglichkeiten.:

Entweder mit der Ungebungsvariable PYTHONPATH in der /etc/zshenv bzw. für Bash-User /etc/profile auf den Ordner in dem der "python setup.py ..." ausgeführt wurde...

...oder man verlinkt den Ordner in den Ordner site-package von der Pythoninstallation.

Die dritte Methode wär, dass man den Ordner statt zu verlinken einfach kopiert. (ungetestet und unpraktisch beim updaten)

Gruß
-ello
[i]Losing my passport was the least of my worries,
losing a notebook was a catastrophe[/i]
[b]--Bruce Chatwin[/b]
Antworten