No module named adv

Probleme bei der Installation?
Antworten
umni
User
Beiträge: 4
Registriert: Mittwoch 16. Oktober 2013, 12:13

Hallo Leute,

ich habe vor einigen Wochen angefangen Python zu lernen. Bisher nur auf Consolen-Ebene. Klappt auch schon ganz gut. Jetzt möchte ich gerne auf die GUI-Ebene gehen.
Angefangen hat alles mit WinPython (WinPython-32bit-2.7.5.3.exe).
Mit der Oberfläche von Spyder komme ich da ganz gut zurecht.

Jetzt habe ich wxPython (wxPython2.9-win32-2.9.5.0-py27.exe) installiert.
Dann GUI2Py (gui2py-0.9.3-py2x.win32.exe).

Und schon gehen die Probleme los.

Die Installation ist (scheinbar) ohne Fehlermeldung abgelaufen.

Auf der Homepage von gui2py werden zwei Möglichkeiten aufgezeigt, wie man die Installation testen kann.

1. Quick Start

>python minimal.pyw
Die Datei minimal.pyw gibt es nicht

>python sample.pyw
die Datei sample.pyw gibt es nicht

>python -m gui.tools.designer
>python.exe: No module named adv

2. Troubleshoting

>Python
>>> import wx
>>> wx.version()
'2.9.5.0 msw (classic)'
>>> quit()
>

>python -c "import gui; print gui.__version__"
Traceback (most recent call last):
File "<string>", ine 1, in <module>
File "C:\WinPython-32bit-2.7.5.3\python-2.7.5\Lib\site-packages\gui\controls\__init__.py", line 22, in <module>
from .controls import Label, Button, TextBox, CheckBox, ListBox, ComboBox, \
File "C:\WinPython-32bit-2.7.5.3\python-2.7.5\Lib\site-packages\gui\controls\__init__.py", line 17, in <module>
from .textbox import TextBox
File "C:\WinPython-32bit-2.7.5.3\python-2.7.5\Lib\site-packages\gui\controls\textbox.py", line 318, in <module>
import wx.adv
ImportError: No module named adv
>

Wie gesagt, mit meinen Python Kenntnissen kratze ich gerade erst an der Oberfläche und wäre deshalb für ein paar Hinweise ganz dankbar:

Ist hier vielleicht doch was bei der Installation schief gelaufen?
Habe ich vielleicht die falschen Versionen installiert?
Warum wird wx.adv nicht gefunden?
Muss ich vielleicht noch irgend etwas anderes installieren?

Für jede Hilfe DANKE im voraus...

Gruß ... Uwe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wenn minimal.pyw nicht gefunden wird, dann wirst du wohl mit deinem Terminal im falschen Ordner sein. Dann musst du den richtigen Ordner finden und es aus diesem aufrufen. Versuch doch mal in nem Python-Interpreter ``import wx.adv`` aufzurufen, ob das funktioniert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
umni
User
Beiträge: 4
Registriert: Mittwoch 16. Oktober 2013, 12:13

Hallo Leonidas,

bei der Installation mit "gui2py-0.9.3-py2x.win32.exe" werden diese Testscripts nicht mit installiert.
Ich habe aber im Downloadbereich noch ein "gui2py-0.9.3.zip" gefunden. Da ist alles enthalten.
Den Inhalt habe ich in den Ordner "....\Python-2.7.5\Tools\" kopiert.
An der Reaktion hat sich aber nicht geändert.
Egal welches Python-Script ich auch ausführe, es wird immer mit einem "no module name adv" belohnt.

Dein Vorschlag hat leider auch nicht funktioniert:

>python
>>> import wx
>>> import adv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: no module named adv
>>> import wx.adv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: no module named adv

Inzwischen habe ich die drei Pakete noch mal auf einem anderen Rechner installiert.
Leider mit dem gleichen Ergebnis: No module named adv.

Gruß ... Uwe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich habe jetzt etwas rumgelesen und es scheint dass gui2py wxPython Phoenix benötigst und du aber Classic hast. Finde ich komisch dass da irgendwelche Bibliotheken auf so bleeding-edge Versionen setzen für die es keine Releases gibt. Hast also die Möglichkeit gui2py wegzulassen und direkt wxPython zu nutzen oder wxPython wegzulassen und gleich ein sinnvolleres GUI-Toolkit zu nutzen ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
umni
User
Beiträge: 4
Registriert: Mittwoch 16. Oktober 2013, 12:13

Hallo Leonidas,

eigentlich möchte ich mich nicht mit wxPython beschäftigen. Da bewege mich auf der Ebene von Tkinter, nur halt mit mehr Funktionen.

Von der GUI habe ich mir eigentlich zwei Vorteile versprochen:

1. Ich möchte nicht über die entsprechenden Kommandos jede Komponente auf der Oberfläche selbst Positionieren. Da arbeite ich einem Bereich in dem sich Delphi Anfang der 90er befand. Ich glaube damals hieß es noch Borland Pascal.

2. Da ich noch am Lernen bin, möchte ich gerne den Code verstehen, den die GUI erzeugt. Das schien mir bei den Beispielen, die gui2py erzeugt hat, der Fall zu sein. So etwas wäre für mich ein sinnvolles GUI-Tool.

Als erste Alternative habe ich deshalb den bei WinPython mitgelieferten Qt-Designer ausprobiert. Aber was da an Code rauskommt ist für mich noch absolut kryptisch. So etwas ist für mich ein sinnloses GUI-Tool.

Ich werde die GUI-Anwendungen für Python also erst mal als unbrauchbar einstufen.
Auf Consolen-Ebene gefällt es mir ganz gut, besonders für die Entwicklung von nativen Anwendungen.

Ich danke dir trotzdem erst mal für deine Bemühungen.

Gruß ... Uwe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

umni hat geschrieben:1. Ich möchte nicht über die entsprechenden Kommandos jede Komponente auf der Oberfläche selbst Positionieren. Da arbeite ich einem Bereich in dem sich Delphi Anfang der 90er befand. Ich glaube damals hieß es noch Borland Pascal.
Wurden da überhaupt Sizer verwendet in Delphi? Ich weiß dass zu der Zeit in Visual Basic die Widgets einfach irgendwohin auf das Fenster mit der Maus geklatscht wurden.
umni hat geschrieben:2. Da ich noch am Lernen bin, möchte ich gerne den Code verstehen, den die GUI erzeugt. Das schien mir bei den Beispielen, die gui2py erzeugt hat, der Fall zu sein. So etwas wäre für mich ein sinnvolles GUI-Tool.
Aber du verstehst den Code ja nicht, weil gui2py den Code generiert. Wenn das irgendeinen Bug hat, dann weißt du ja nicht was da passiert.
umni hat geschrieben:Als erste Alternative habe ich deshalb den bei WinPython mitgelieferten Qt-Designer ausprobiert. Aber was da an Code rauskommt ist für mich noch absolut kryptisch. So etwas ist für mich ein sinnloses GUI-Tool.
Ich glaube du nutzt das falsch. Denn man generiert in Python mit Qt Designer keinen Code sondern bindet die XML-Datei mit einem Python-Befehl ein. Genauso bei GTK+ mit dessen GUI-Designer Glade. Kein Mensch schreibt Code der Widgets setzt mit der Hand, das ist auch reichlich sinnlos. Und das nicht nur in Python sondern auch bei den Windows-Entwicklern in C++, die Resource-Dateien nutzen, um die GUI zu bauen.
umni hat geschrieben:Ich werde die GUI-Anwendungen für Python also erst mal als unbrauchbar einstufen.
gui2py taugt nichts, daher ist Python für GUI unbrauchbar? Ich finde das ist eine etwas übereilige und eigentlich auch unfaire Einstufung. Ich hoffe du urteilst nicht über andere Sachen genauso schnell.

Wenn du ein einfach zu nutzendes GUI-Toolkit suchst und das eventluell auf Kosten der Flexibilität, dann wäre wohl am ehesten Shoes was für dich. Allerdings für Ruby.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@umni: Ich verstehe die Argumentation nicht. Du möchtest keinen Code schreiben, okay dafür gibt es GUI-Designer. *Deren* generierten Code möchtest Du dann aber verstehen — *warum*? Den Quelltext schreibst Du nicht, den veränderst Du nicht, warum willst Du ihn dann verstehen? Zumal man bei Qt eigentlich keinen Quelltext hat sondern eine XML-Datendatei. Die lädt man zur Laufzeit und bekommt GUI-Objekte. Den Umweg über generierten Quelltext geht man nicht mehr. Und selbst wenn man so etwas altertümliches noch macht, aus welchen Gründen auch immer, dann ist das generierter Quelltext in Dateien die der Programmierer nur importiert aber nicht verändert. Also ist es auch egal wie der aussieht. Das ist eine „black box”. Nebenbei bemerkt ist der wirklich nicht kryptisch. Im Gegenteil, ich finde den sogar sehr lesbar. Es gibt *deutlich* schlechter für menschliche Leser erfassbaren generierten Quelltext.

Ein sinnvolles GUI-Werkzeug „versteckt” das alles vor dem Programmierer, also GUI mit dem Qt-Designer erstellen und die Elemente auf die man im Code zugreifen will im Designer sinnvoll benennen, Datendatei im Programm dynamisch laden, und auf die benannten Elemente zugreifen. Was ist daran jetzt bitte nicht sinnvoll oder nicht nachvollziehbar‽

Das was Du da ausprobieren wolltest hätte am Ende doch genau das selbe gemacht: die ganze Komplexität die GUI-Code mit sich bringt vor Dir versteckt.

Und wenn es ums lernen geht, kommst Du um die normale API vom GUI-Toolkit nicht herum. Der generierte Quelltext vom Designer kommt Dir doch nur kryptisch vor weil Du nicht weisst wie man GUIs mit der Qt-API erstellt. Wenn Du da noch eine API dazwischen schaltest die das vor Dir versteckt, lernst Du auch nichts, beziehungsweise dann kannst Du es auch komplett ohne Code machen.
umni
User
Beiträge: 4
Registriert: Mittwoch 16. Oktober 2013, 12:13

Hallo Leute,

bitte nicht auf mir rumhacken. Ihr habt bestimmt alle Recht.

Meine bisherigen Rechnersprachen sind Delphi und LabView. Und das seit 20 Jahren.
Jetzt geht es darum bestehende Python-Consolen-Anwendungen weiter zu entwickeln.

Vor fünf Wochen habe ich gelernt, das es so etwas wie Python überhaupt gibt.

Vor vier Wochen habe ich mir ein Buch geschnappt und konnte nach den ersten 300 Seiten immerhin schon eine Statemachine programmieren die sich über eine serielle Schnittstelle Daten von Hardware holt, sich aus einer XML-Datei Konfigurationsparameter holt, damit Rohwerte in physikalische Werte umrechnet, diese in Textdateien speichert und über ein WEB-Interface an eine Datenbank überträgt. Die Statemachine ist über Tastatur und/oder Telnet zu steuern.

Das Problem ist die Syntax einer neuen Programmiersprache.
Ohne Buch geht da noch garnix. Ich tippe immer noch Delphi-Syntax ein und in Delphi auch schon mal Python-Syntax.

Mein Hintergrundwissen zu Python geht immer noch gegen 0. Was muss ich wo schon installiert haben, damit das, was ich gerade installieren möchte überhaupt funktionieren kann (no module named adv) ??? Noch keine Ahnung.
GTK+ ???, Shoes ???, Ruby ???.
Was ich sicher weiß ist, das heute Mittwoch ist. Oder?

Wahrscheinlich habe ich mir das alles zu einfach vorgestellt. Python auf Consolen-Ebene ist nach zwei bis drei Wochen Lernpensum machbar und funktioniert auch schon ganz gut. Bei Desktop-Anwendungen geht noch gar nichts.

Die Einstufung "unbrauchbar" für die Desktop-Ebene ist sogar absolut unfair und vor allem rein subjektiv, aber sie beschreibt meinen aktuellen Python-Ausbildungsstand. Ein anderes Urteil kann ich mir da noch nicht erlauben, aber es ist erst mal ein Urteil. Mit Sicherheit wird sich das noch ändern, wenn ich mich weiter damit beschäftige, obwohl jetzt erst mal die Entscheidung getroffen wurde, mit Python keine Desktop-Anwendungen umzusetzen.

Also, bitte noch nicht so viel schimpfen.

Gruß ... Uwe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

umni hat geschrieben:Mein Hintergrundwissen zu Python geht immer noch gegen 0. Was muss ich wo schon installiert haben, damit das, was ich gerade installieren möchte überhaupt funktionieren kann (no module named adv) ??? Noch keine Ahnung.
GTK+ ???, Shoes ???, Ruby ???.
Was ich sicher weiß ist, das heute Mittwoch ist. Oder?
Okay, dann würde ich sagen, dass du grafische Applikationen erstmal weglassen solltest bis du einigermaßen sattelfest in Python bist. Dazu braucht man nämlich Kenntnisse in OOP und man sollte die Sprache beherrschen.
umni hat geschrieben:Wahrscheinlich habe ich mir das alles zu einfach vorgestellt. Python auf Consolen-Ebene ist nach zwei bis drei Wochen Lernpensum machbar und funktioniert auch schon ganz gut. Bei Desktop-Anwendungen geht noch gar nichts.
Ja, das denke ich auch. Ist aber, denke ich, in anderen Sprachen nicht großartig anders. GUI Toolkits sind nunmal objektorientiert und relativ umfassend, so dass man nicht "mal eben" ein GUI-Toolkit nutzt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

[quote="Leonidas"
Wurden da überhaupt Sizer verwendet in Delphi? Ich weiß dass zu der Zeit in Visual Basic die Widgets einfach irgendwohin auf das Fenster mit der Maus geklatscht wurden.
[/quote]
Wurden und werden sie in Delphi und ebenso in Windows Forms bis heute, wenn ich nicht irre. Es ist ja schlimmer: sie müssen genau dorthin geklatscht werden, wo sie bleiben sollen. Genau der Grund, weshalb ich nicht zu Lazarus zurückkehre. Aber mit Delphi ein GUI hinkriegen war beeindruckend einfach, zumindest für den Eigenbedarf (keine Übersetzung, kein ästhetischer Anspruch, und zur Laufzeit am besten nicht an den Fenstern herumzerren ...).
BlackJack

@bb1898: Du sagst es gab Sizer, beschreibst dann aber eine GUI wo man dieses Gestaltungsmittel *nicht* hat. Sizer muss man nicht an eine bestimmte Stelle platzieren, sondern *die* sorgen dafür das die enthaltenen GUI-Elemente *automatisch* platziert werden und sinnvoll skalieren wenn man die Fenstergrösse ändert. Also insbesondere bedeuten Sizer: kein absolutes, pixelbasiertes (oder TWIPS oder wie das unter Windows hiess) platzieren von Elementen.
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

BlackJack hat geschrieben:@bb1898: Du sagst es gab Sizer, beschreibst dann aber eine GUI wo man dieses Gestaltungsmittel *nicht* hat. Sizer muss man nicht an eine bestimmte Stelle platzieren, sondern *die* sorgen dafür das die enthaltenen GUI-Elemente *automatisch* platziert werden und sinnvoll skalieren wenn man die Fenstergrösse ändert. Also insbesondere bedeuten Sizer: kein absolutes, pixelbasiertes (oder TWIPS oder wie das unter Windows hiess) platzieren von Elementen.
Da habe ich mich unklar ausgedrückt: ich bezog mich auf den zweiten Satz, den ich zitiert habe. Eben keine Sizer, sondern Hinklatschen mit der Maus ("sie" sind die Widgets).
Antworten