ошибка модуля импорта Python

Я пытаюсь импортировать mlab в Mayavi с дистрибутивом Enthought. Это терпит неудачу с

 from enthought.mayavi import mlab

а также с

 import enthought.mayavi
 from enthought.mayavi import mlab

Поэтому у меня возникла идея, возможно, init.py в пакете mayavi (пустой) должен быть добавлен с

 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. Я установил vtk с помощью Tcl-Tk Installer. Но на самом деле, предполагаемый дистрибутив уже включает в себя некоторый пакет tvtk. Я добавил местоположение tvtk в PYTHONPATH.

Это все еще не работает.

Любая идея о том, как исправить проблему импорта такого рода? Или любой комментарий, связанный с использованием enthought mlab (может потребоваться известный обходной путь)?

Спасибо и привет


person kiriloff    schedule 04.08.2012    source источник
comment
Простите мой глупый ответ ниже, но я нашел модуль mlab в пакете enthought.mayavi.tools, но по какой-то причине я также не могу его импортировать.   -  person Nino    schedule 04.08.2012
comment
Насколько я вижу, это в mayavi И в mayavi.tools в древовидной файловой системе. не исправляет.   -  person kiriloff    schedule 04.08.2012
comment
Как выглядит ваш PYTHONPATH? Что вы помещаете в файл __init__.py? В механизмах импорта Python нет глубокой черной магии, такого рода проблемы обычно вызваны грязными средами, где PYTHONPATH был перепутан, пакеты/модули с повторяющимися именами попали в PYTHONPATH или __init__.py вызывает какое-то неверное направление. .   -  person Silas Ray    schedule 04.08.2012


Ответы (2)


Я решил это для себя на Ubuntu 12.04, установив пакет mayavi2

sudo apt-get install mayavi2

Тогда это импортное заклинание сработало:

from mayavi.mlab import contour_surf

Теперь осталось только вспомнить, как им пользоваться!

person tsbertalan    schedule 12.11.2012

Удален дистрибутив Enthought и установлен последний дистрибутив python (x, y). Теперь это отлично работает с

from mayavi import mlab
person kiriloff    schedule 04.08.2012