Mayavi: AttributeError: модуль 'mayavi' не имеет атрибута 'add_module' - PullRequest
0 голосов
/ 07 мая 2019

Я новичок в Mayavi, я установил его на свой ноутбук 4 дня назад.Я просмотрел кулинарную книгу SciPy здесь https://scipy -cookbook.readthedocs.io / items / MayaVi_ScriptingMayavi2_MainModules.html и попытался запустить первый пример (ImagePlaneWidget / ScalarCutPlane * SliceUnstructuredrid *rid5rid5rid)* from enthought.mayavi.modules.scalar_cut_plane import ScalarCutPlane scp = ScalarCutPlane() # set scp as ScalarCutPlane() module script.add_module(scp) # add module to the scene scp.implicit_plane.normal = (1, 0, 0) # set normal to Ox axis # set origin to (i=10, j=25, k=25) i.e. integers for a structured grid scp.implicit_plane.origin = (10, 25, 25) # set origin to (x=1.0, y=2.5, z=2.5) i.e. reals for unstructured grids # scp.implicit_plane.origin = (1.0, 2.5, 2.5) scp.implicit_plane.widget.enabled = False scp.actor.property.diffuse = 0.0 # set some color properties scp.actor.property.ambient = 1.0 # scp.actor.property.opacity = 1.0 # scp.module_manager.scalar_lut_manager.data_range = [0, 1] но я получил следующее сообщение об ошибке:

строка 2, из enthought.mayavi.modules.scalar_cut_plane import ScalarCutPlane ImportError: Нет модуля с именем 'enthought'

При поиске в интернете того, как я могу это исправить, я наткнулся на эту ссылку https://sourceforge.net/p/mayavi/mailman/message/34599876/, где говорится, что: ".... Многие из старых учебников, документов и т. Д. До сих пор используют enthought.mayavi, но это устарело. Вы должны использовать «import mayavi». "

Итак, я изменил этот код следующим образом:

import mayavi
from mayavi.modules.scalar_cut_plane import ScalarCutPlane
scp = ScalarCutPlane() # set scp as ScalarCutPlane() module
mayavi.add_module(scp) # add module to the scene
scp.implicit_plane.normal = (1, 0, 0) # set normal to Ox axis
# set origin to (i=10, j=25, k=25) i.e. integers for a structured grid
scp.implicit_plane.origin = (10, 25, 25)
# set origin to (x=1.0, y=2.5, z=2.5) i.e. reals for unstructured grids
# scp.implicit_plane.origin = (1.0, 2.5, 2.5)
scp.implicit_plane.widget.enabled = False
scp.actor.property.diffuse = 0.0 # set some color properties
scp.actor.property.ambient = 1.0 # 
scp.actor.property.opacity = 1.0 #
scp.module_manager.scalar_lut_manager.data_range = [0, 1]

Я запустил его снова, но на этот раз я получил этосообщение об ошибке:

строка 5, в mayavi.add_module (scp) # добавить модуль в сцену AttributeError: у модуля 'mayavi' нет атрибута 'add_module'

Iмысль об удалении4-я строка (я комментирую), но когда я сделал это и снова запустил код, я получил другое сообщение об ошибке:

строка 15, в scp.module_manager.scalar_lut_manager.data_range = [0, 1] AttributeError: Объект 'NoneType' не имеет атрибута 'scalar_lut_manager'

Я пытался запустить этот код, но он всегда не работает.

Не могли бы вы мне помочь, пожалуйста?

Pacome

...