python - Enthought Mayavi 动画空白显示

标签 python pip enthought mayavi

我一直在尝试运行以下Python代码(来自Enthought的网站)来测试Enthought的Mayavi模块的动画功能。

from mayavi import mlab
import numpy
n_mer, n_long = 6, 11
pi = numpy.pi
dphi = pi/1000.0
phi = numpy.arange(0.0, 2*pi + 0.5*dphi, dphi, 'd')
mu = phi*n_mer
x = numpy.cos(mu)*(1+numpy.cos(n_long*mu/n_mer)*0.5)
y = numpy.sin(mu)*(1+numpy.cos(n_long*mu/n_mer)*0.5)
z = numpy.sin(n_long*mu/n_mer)*0.5

# View it.
l = mlab.plot3d(x, y, z, numpy.sin(mu), tube_radius=0.025, colormap='Spectral')

# Now animate the data.
ms = l.mlab_source
for i in range(10):
    x = numpy.cos(mu)*(1+numpy.cos(n_long*mu/n_mer +
                                  numpy.pi*(i+1)/5.)*0.5)
    scalars = numpy.sin(mu + numpy.pi*(i+1)/5.)
    ms.set(x=x, scalars=scalars)

但是,执行后什么也没有发生。它运行时没有错误,但只有 TVTK 场景窗口弹出空白 - 没有图像,没有动画。问题可能出在 Mayavi 模块导入上吗?网站上的示例开头为: 从 enthought.mayavi 导入 mlab 然而,我有: 从 mayavi 导入 mlab 'enthought.mayavi' 导入字符串对我不起作用。我使用的 Mayavi 是 pip 安装。
我应该怎么做才能解决这个问题?我使用的是 Mac OSX 10.8.2。提前致谢。

最佳答案

这个演示可以在我的机器上运行(刚刚升级到操作系统 10.8.2)。

不过,首先要回答您有关导入的问题。大约一年半前的某个时候,我们重构了软件包,从导入中删除了预期的名称。因此,导入mayavi的mlab的标准方式从

from enthought.mayavi import mlab

from mayavi import mlab

该设置的设计使得前者仍然有效,但我们尝试将示例代码中的导入重构为第二种模式。因此,我们可以非常确定这不是 import 语句的问题。

您已经在 Mayavi 中运行了任何东西吗?试试这个:

from mayavi import mlab
mlab.test_plot3d()

另外,mayavi 的版本是什么,您有哪个 EPD(32 位或 64 位),以及在终端中执行以下操作的结果是什么?

$ echo $ETS_TOOLKIT

关于python - Enthought Mayavi 动画空白显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517443/

相关文章:

python - argparse 子解析器整体帮助输出

android - 我可以在 Android 应用程序的后端使用一些 Python 吗?

python - 不显示 Tensorflow 日志消息

python - 使用 pip 安装 Dynamic-DynamoDB 时出错

python - pip 未被识别为内部命令

mercurial - IPython、Sage、依赖项、Anaconda 和包集成?

python - 在 pandas 中定期获取每月的第 n 个工作日

python - 如何修复我的包中的 ".dist-info directory not found"?

python - 更改 mlab quiver3d 和 surf 数据源而不清除特征脚本中的数字

python - 如何限制 Enthought 特征模块中 Float 特征的值?