4

我正在尝试学习 MayaVi,但被卡在打开的数字上。

在 mlab 中显示数字只会导致段错误。我绘制的内容似乎并不重要,所以我认为问题在于显示的行为,而不是我试图显示的对象。例如:

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)

我在 Linux 上使用 Python 2.7.3、EPD 7.3-1(64 位)。

编辑:如果我尝试显示图像,我实际上会得到一个不同的错误,这是我的目标之一。

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()

我收到初始错误(段错误)。

4

1 回答 1

0

我没有使用 Enthought,但我遇到了类似的段错误并在这里找到了帮助:

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

他们说这是 Qt4(VTK 使用)和 Qt5(Mayavi 使用)之间的兼容性问题,并建议切换到 wx。为此,请在终端中运行以下命令:

export ETS_TOOLKIT=wx

然后你应该能够从同一个终端运行 Enthough 或你的 Python。

如果可行,您还可以考虑将上述行添加到您的 ~/.profile.d 中,以便在启动终端时自动执行导出。这怎么能自动包含在 Enthought 我不知道,对不起。

我希望这会有所帮助,Mayavi 一旦运行起来就非常好!

于 2017-06-01T15:46:05.767 回答