2013-06-12 50 views
1

我想從enthought mayavi模塊導入mlab。我正在使用enthought冠層分佈。從enthought mayavi導入mlab

我收到以下一系列錯誤。我似乎無法找到任何類似的錯誤搜索。

有沒有人有任何想法下一步?

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 

回答

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 

我有同樣的問題,這解決了它。

+2

你不應該改變'mayavi'或'tvtk'的代碼來讓它運行。我無法「準確地」重現此問題,但我在異常情況下在同一行發生異常。 C:\ Users \ XXX \ AppData \ Local \ Enthought \ Canopy \ User \ lib \ site-packages \ tvtk \ array_handler.py () 28 Enthought庫導入。 ---> 29 from tvtk.array_ext import set_id_type_array 31#VTK數組的有用常量。 ImportError:numpy.core.multiarray無法導入 **更新**'numpy'爲'1.7.1' **修正了**問題。 – punchagan

+0

更新numpy到1.7.1並沒有解決我的問題 - 但更新到1.8.1爲我解決了這個問題。 – rottweiler