MayaVi: отображаются сегментные ошибки mlab

Я пытаюсь изучить MayaVi, но застреваю на открывающихся фигурах.

Отображение цифр в mlab просто приводит к segfault. Кажется, не имеет значения, что я рисую, поэтому я думаю, что проблема заключается в акте отображения, а не в объекте, который я пытаюсь отобразить. Например:

import numpy as np
from mayavi import mlab
x = y = np.arange(-5, 5, 1)
s = np.meshgrid(x, y)
mlab.surf(s)

приводит к ошибке:

Segmentation fault (core dumped)

Я использую Python 2.7.3, EPD 7.3-1 (64-разрядная версия) в Linux.

РЕДАКТИРОВАТЬ: на самом деле я получаю другую ошибку, если пытаюсь отобразить изображение, что является одной из моих целей.

import numpy as np
from mayavi import mlab
from PIL import Image
img = Image.open('milkyway.png')
mlab.imshow(img)

приводит к

Fatal error in __driConfigOptions line 108393789, column 108392770: parsing finished.
Abort (core dumped)

EDIT2: Хорошо, это определенно проблема при открытии фигур, потому что, если я просто проверю:

from mayavi import mlab
mlab.figure()

Я получаю начальную ошибку (segfault).


person user2569840    schedule 15.07.2013    source источник
comment
Я получил это, используя Enthought Canopy 1.1.1.1452 с Mayavi 4.3.0.   -  person aaren    schedule 29.10.2013


Ответы (1)


Я не использую Enthought, но у меня были похожие ошибки segfault, и я нашел помощь здесь:

https://github.com/enthought/mayavi/issues/450

Они говорят, что это проблема совместимости между Qt4 (используется VTK) и Qt5 (используется Mayavi) и рекомендуют перейти на wx. Для этого выполните в терминале следующую команду:

export ETS_TOOLKIT=wx

Тогда вы сможете запустить Enthough или ваш Python с того же терминала.

Если это сработает, вы также можете добавить указанную выше строку в свой ~/.profile.d, чтобы экспорт выполнялся автоматически при запуске терминала. Как это может автоматически включаться в Enthought я не знаю, извините.

Я надеюсь, что это поможет, Mayavi довольно хорош, когда он работает!

person David    schedule 01.06.2017