Я пытаюсь установить MayaVi на свой компьютер. У меня MacBook Air с OS X 10.6.8, 4 ГБ ОЗУ.
Мой python и большая часть моего стека построены через Homebrew или pip. В частности, это верно для python2.7, ipython, Qt4, numpy, scipy, vtk и т. д. VTK был установлен с флагами --python и --qt-extern в Homebrew, и все сборки были в порядке. У меня не установлен wxPython, так как мне не удалось заставить его работать с помощью pip, ручной сборки или двоичных файлов.
Если я запускаю ipython -q4thread
, я не могу успешно выполнить from mayavi import mlab
, так как получаю сообщение об ошибке, связанное с использованием двух разных API для PyQt: http://groups.google.com/group/spyderlib/browse_thread/thread/36a35baec74ca144
Однако, если я запущу только ipython
, я смогу успешно запустить from mayavi import mlab
. Затем я пытаюсь следовать этому примеру: http://github.enthought.com/mayavi/mayavi/example_using_with_scipy.html, который включает следующие команды:
import numpy as np
def V(x, y, z):
""" A 3D sinusoidal lattice with a parabolic confinement. """
return np.cos(10*x) + np.cos(10*y) + np.cos(10*z) + 2*(x**2 + y**2 + z**2)
X, Y, Z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]
from mayavi import mlab
mlab.contour3d(X, Y, Z, V)
Все это работает нормально, и я получаю всплывающее окно, и я могу вращать 3D-график и т. д. Однако затем я нажимаю на значок, чтобы открыть конвейер, который открывает другое окно. Затем в учебнике предлагается дважды щелкнуть «изоповерхность», чтобы изменить ее свойства. Как только я это делаю, я получаю воспроизводимую ошибку сегментации.
Я понятия не имею, как начать выяснять, в чем проблема.
В качестве альтернативы я могу запустить MayaVi из командной строки: mayavi2
, и появится графический интерфейс. Когда я это делаю, я получаю следующий вывод:
Warning: Unable to import the wx backend for pyface due to traceback: Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/toolkit.py", line 45, in _init_toolkit
be = import_toolkit(tk)
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/toolkit.py", line 31, in import_toolkit
__import__(be + 'init')
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/ui/wx/init.py", line 14, in <module>
import wx
ImportError: No module named wx
Хотя графический интерфейс всплывает, если я пытаюсь выполнить какую-либо операцию, я получаю segfault.
Пожалуйста, дайте мне знать, если у вас есть какие-либо мысли по устранению этой неполадки или, возможно, руководство по успешной переустановке пакета.
Спасибо!
Ури