Wie bringt man MayaVi2 dazu, Qt anstelle von wx als Standard zu verwenden?

Bisher habe ich eine Python-Umgebung verwendet, die von Mac-Ports verwaltet wird. Ich hatte einige grundlegende Skripte mit PyQT, VTK, Matplotlib usw. Ich konnte Paraview verwenden, aber es scheint ein wenig schwer für meine Zwecke zu sein, so dass ich MayaVi2 (und TVTK) ausprobieren würde.

Ich habe heruntergeladen und versucht, manuell zu installieren, aber es hat sich als problematisch erwiesen. Also dachte ich würde in die Kugel beißen und Canopy (akademische Lizenz) ausprobieren. Basierend aufVTK / Mayavi unter Mac OS X was darauf hindeutet, dass alles in der Welt von Qt, VTK und MayaVI gut ist, habe ich 64-Bit-Canopy installiert.

Ich habe Probleme damit, mayavi2 in der Canopy-Umgebung zum Laufen zu bringen. Es läuft, aber die Konsole bekommt viele Fehler, wenn ich ein Dialogfeld oder eine Einstellungsbox aufrufe, funktionieren die "Buttons" nicht richtig. Hier ist der erste Fehler (von ein paar Bildschirmfüllungen), wenn ich versuche, mayavi2 zu starten:

(Canopy 64bit) scratch_pad 501 $ mayavi2 Traceback (letzter Aufruf): Datei "/Applications/Canopy.app/appdata/canopy-1.0.0.1160.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site -packages / pyface / ui / wx / splash_screen.py ", Zeile 121, in _on_paint dc = wx.PaintDC (Fenster)

Ich interessiere mich eigentlich mehr für TVTK, also habe ich einige der Mayavi-Demos aus der Website-Galerie ausprobierthttp://docs.enthought.com/mayavi/mayavi/auto/examples.html Die wenigen, die ich irgendwie ausprobiert habe, haben funktioniert, das heißt, sie zeigen ein VTK (?) Fenster / eine Szene an, ich kann mit dem VTK Fenster interagieren. Alles ist gut, bis ich ein Einstellungen / Dialogfenster öffne, und dann keine der Dialogfenster "Button" funktionieren und ich muss das Beenden erzwingen. Hier ist die letzte Fehlerzeile, wenn ich die Schaltfläche "Einstellungen" im öffneplot3D Demo:

einfache Demo: Datei "/Users/michael/Library/Enthought/Canopy_64bit/System/lib/python2.7/site-packages/wx/_core.py", Zeile 9162, in DestroyChildren returnAder.Window_DestroyChildren (* args, ** kwargs) wx._core.PyAssertionError: C ++ - Assertion "GetEventHandler () == this" schlug bei /BUILD/wxPython-src-2.9.2.4/src/common/wincmn.cpp(468 fehl ~ wxWindowBase (): Event-Handler mit Push müssen entfernt worden sein

Ich habe es sogar versucht

ipython --gui = wx

(wie auf der Seite vorgeschlagen) aber in diesem Fall stürzt es ab, kein Fenster.

Anhand der Fehlermeldungen auf der Konsole scheinen alle wx-verwandt zu sein. Ich verstehe, dass die Canopy-Umgebung "in sich geschlossen" ist, aber könnte meine alte Umgebung in einem Konflikt stehen? Wie würde ich das überhaupt testen?

Gibt es eine Möglichkeit, Umgebungsvariable, dass mayavi2 Qt anstelle von wx verwenden kann? Ich verwende wx in keinem meiner lokalen Python-Skripte. Wenn es also nicht in Canopy benötigt wird, kann ich es gerne deaktivieren, falls dies eine Option ist.

Irgendwelche Ideen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage