MayaVi:在显示时,mlab崩溃了。

4
我将尝试学习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)

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

我遇到了最初的错误(一个段错误)。


我使用Enthought Canopy 1.1.1.1452和Mayavi 4.3.0完成了这个。 - aaren
1个回答

0

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

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

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

export ETS_TOOLKIT=wx

然后您应该能够从同一个终端运行Enthought或Python。

如果可以正常运行,您还可以考虑将上述行添加到您的~/.profile.d中,以便在启动终端时自动执行导出。如何在Enthought中自动包含此内容我不知道,抱歉。

希望这有所帮助,Mayavi一旦启动起来就非常好用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接