Раньше я использовал среду python, поддерживаемую портами Mac. У меня были некоторые базовые сценарии с использованием PyQT, VTK, matplotlib и т. Д. Я смог использовать Paraview, но выглядел немного тяжелым для своих применений, поэтому, хотя я бы попробовал MayaVi2 (и TVTK).Как заставить MayaVi2 по умолчанию использовать Qt вместо wx?
Я загрузил и попытался установить вручную, но это оказалось хлопотным. Поэтому я подумал, что укушу пулю и попробую Canopy (академическая лицензия). Основываясь на этом VTK/Mayavi on Mac OS X, который говорит, что все хорошо в мире Qt, VTK и MayaVI, я установил 64-битный Canopy.
У меня возникли проблемы с получением mayavi2 для работы в среде Canopy. Он запускается, но на консоли появляется много ошибок, если я вызываю любое диалоговое окно/«окно», «кнопки» работают неправильно. Вот первая ошибка (из нескольких экранных Фуллс), когда я пытаюсь запустить mayavi2:
(Canopy 64bit) scratch_pad 501 $mayavi2 Traceback (most recent call last): File "/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", line 121, in _on_paint dc = wx.PaintDC(window)
Я на самом деле больше заинтересованы в TVTK, поэтому я попробовал некоторые из MayaVi демки с сайта галереи http://docs.enthought.com/mayavi/mayavi/auto/examples.html Немногочисленные Я пробовал работать - работал, то есть отображает окно/сцену VTK (?), Я могу взаимодействовать с окном VTK. Все хорошо, пока я не открою окно настроек/диалога, и тогда ни одна из кнопок диалога «кнопка» не работает, и я должен заставить выйти. Вот последняя строка ошибки, когда я открываю кнопку «Настройка» в plot3D demo:
simple demo: File "/Users/michael/Library/Enthought/Canopy_64bit/System/lib/python2.7/site-packages/wx/_core.py", line 9162, in DestroyChildren return core.Window_DestroyChildren(*args, **kwargs) wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at /BUILD/wxPython-src-2.9.2.4/src/common/wincmn.cpp(468) in ~wxWindowBase(): any pushed event handlers must have been removed
Я даже попытался
ipython --gui=wx
(как это было предложено на странице), но в этом случае он выходит из строя, нет окна.
На основании сообщений об ошибках на консоли все они выглядят как wx. Насколько я понимаю, среда Canopy является «самодостаточной», но может ли моя старая среда каким-то образом противоречить друг другу? Как я мог бы это проверить?
Есть ли способ, переменная окружения, что mayavi2 может использовать Qt вместо wx? Я не использую wx ни в одном из моих локальных скриптов python, поэтому, если это не требуется в Canopy, я очень рад отключить, если это вариант.
Любые идеи?
Пожалуйста, разместите свое изменение как ответ, это нормально ответить на ваш собственный вопрос. –