导入模块时出现Python错误

4

我尝试在Enthought分发版中使用mayavi导入mlab,但失败了。

 from enthought.mayavi import mlab

并且也随着技术发展

 import enthought.mayavi
 from enthought.mayavi import mlab

所以,我有一个想法,也许在包 mayavi 中可以添加一个空的 __init__.py 文件。
 import mlab

但现在之前的命令会引发错误异常

 Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import enthought.mayavi
 File "C:\Python27\lib\site-packages\enthought\mayavi\__init__.py", line 1, in <module>
import mlab
  File "C:\Python27\lib\site-packages\enthought\mayavi\mlab.py", line 3, in <module>
    from mayavi.mlab import *
ImportError: No module named mayavi.mlab

我找到的一些线索表明,vtk可能是这个mlab导入问题的根本原因。我已经使用Tcl-Tk Installer安装了vtk。但实际上,enthought distribution已经包含了一些tvtk包。我将tvtk位置添加到了PYTHONPATH中。
然而,这仍然没有解决问题。
您有任何关于如何解决这种导入问题的想法吗?或者对使用enthought mlab有任何建议(可能需要已知的解决方法)?
谢谢和问候。

抱歉,我的下面的回答可能有些愚蠢,但我已经在enthought.mayavi.tools包中找到了mlab模块,但出于某种原因,我也无法导入它。 - Nino
从我看来,它在Mayavi和Mayavi工具中的树文件系统中。并没有修复。 - kiriloff
你的PYTHONPATH是什么样子?你在__init__.py文件中放了什么?Python的导入机制中没有深奥的黑魔法,这些问题通常是由于环境混乱而导致PYTHONPATH出现问题,重复命名的包/模块已经进入PYTHONPATH,或者__init__.py引起了一些错误。 - Silas Ray
2个回答

3

我在Ubuntu 12.04上解决了这个问题,方法是安装mayavi2软件包。

sudo apt-get install mayavi2

然后这个导入咒语奏效了:

from mayavi.mlab import contour_surf

现在我只需要记得如何使用它!

1
卸载了Enthought发行版并安装了python(x,y)最新版本。现在它已经完美地运行了。
from mayavi import mlab

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