1

我正在尝试从 enthought mayavi 模块导入 mlab。我正在使用enthought冠层分布。

我收到以下一系列错误。我似乎在搜索中找不到任何类似的错误。

有人对下一步有什么想法吗?

ImportError                               Traceback (most recent call last)
<ipython-input-11-3f0e4b94a8ea> in <module>()
----> 1 from mayavi import mlab

C:\...\Enthought\Canopy32\User\lib\site-packages\mayavi\mlab.py in <module>()
     25 
     26 # Mayavi imports
---> 27 from mayavi.tools.camera import view, roll, yaw, pitch, move
     28 from mayavi.tools.figure import figure, clf, gcf, savefig, \
     29     draw, sync_camera, close, screenshot

C:\...\Enthought\Canopy32\User\lib\site-packages\mayavi\tools\camera.py in <module>()
     23 # We can't use gcf, as it creates a circular import in camera management
     24 # routines.
---> 25 from engine_manager import get_engine
     26 
     27 

C:\...\Enthought\Canopy32\User\lib\site-packages\mayavi\tools\engine_manager.py in         <module>()
     12 from mayavi.preferences.api import preference_manager
     13 from mayavi.core.registry import registry
---> 14 from mayavi.core.engine import Engine
     15 from mayavi.core.off_screen_engine import OffScreenEngine
     16 from mayavi.core.null_engine import NullEngine

C:\...\Enthought\Canopy32\User\lib\site-packages\mayavi\core\engine.py in <module>()
     25 
     26 # Local imports.
---> 27 from mayavi.core.base import Base
     28 from mayavi.core.scene import Scene
     29 from mayavi.core.common import error, process_ui_events

C:\...\Enthought\Canopy32\User\lib\site-packages\mayavi\core\base.py in <module>()
     17     HasTraits, WeakRef, on_trait_change)
     18 from traitsui.api import TreeNodeObject
---> 19 from tvtk.pyface.tvtk_scene import TVTKScene
     20 from apptools.persistence import state_pickler
     21 from pyface.resource.api import resource_path

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\pyface\tvtk_scene.py in <module>()
     22      Property, Instance, Event, Range, Bool, Trait, Str
     23 
---> 24 from tvtk.pyface import light_manager
     25 
     26 VTK_VER = tvtk.Version().vtk_version

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\pyface\light_manager.py in <module>()
    128 # `CameraLight` class.
    129 ######################################################################
--> 130 class CameraLight(HasTraits):
    131 
    132     """This class manages a tvtk.Light object and a LightGlyph object."""

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\pyface\light_manager.py in CameraLight()
    144     activate = Trait(False, false,
    145                      desc="specifies if the light is enabled or not")
--> 146     source = Instance(tvtk.Light, ())
    147 
    148     # FIXME: Traits Delegation does not work correctly and changes to

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\tvtk_helper.py in <lambda>(self)
    204     LabelHierarchyIterator = property(lambda self: get_class('LabelHierarchyIterator'))
    205     LabelRenderStrategy = property(lambda self: get_class('LabelRenderStrategy'))
--> 206     Light = property(lambda self: get_class('Light'))
    207     LightKit = property(lambda self: get_class('LightKit'))
    208     LineIntegralConvolution2D = property(lambda self: get_class('LineIntegralConvolution2D'))

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\tvtk_helper.py in get_class(name)
     34     else:
     35         fname = camel2enthought(name)
---> 36         mod = get_module(fname)
     37         klass = getattr(mod, name)
     38         _cache[name] = klass

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\tvtk_helper.py in get_module(fname)
     26         # inside the tvtk_classes ZIP file and are local to the
     27         # current module: tvtk_helper.py
---> 28         mod = __import__('tvtk.tvtk_classes.%s'%fname, globals(), locals(), [fname])
     29     return mod
     30 

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\light.py in <module>()

C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\array_handler.py in <module>()
     27 
     28 # Enthought library imports.
---> 29 from tvtk.array_ext import set_id_type_array
     30 
     31 # Useful constants for VTK arrays.

ImportError: cannot import name set_id_type_array
4

1 回答 1

2

查看“array_handler.py”文件。在第 29 行

   29 from tvtk.array_ext import set_id_type_array

文件夹中没有名为“tvtk”的文件夹,“array_handler.py”正在运行,因为我们已经在一个名为 tvtk 的文件夹中。所以代码应该改为:

from array_ext import set_id_type_array

在您的计算机中找到“array_handler.py”

   C:\...\Enthought\Canopy32\User\lib\site-packages\tvtk\array_handler.py 

我有同样的问题,这解决了它。

于 2013-06-18T07:59:45.970 回答