Как установить mayAVI для моего python3 на macOS Sierra?

Я использовал matplotlib для построения трехмерных графиков, однако обнаружил, что у matplotlib нет функции перетаскивания и поворота для построенных трехмерных графиков. Я хотел бы установить mayAVI, который позволит мне это сделать, однако я не могу найти надежных способов его установки. Может ли кто-нибудь помочь мне в процессе установки? Я не использую виртуальные среды.

Ответы (3)

Недавно я столкнулся с вашей точно такой же проблемой (желание использовать MayaVi вместо matplotlib для 3D-графиков и анимации, нежелание использовать виртуальные среды и желание использовать MayaVi с python3). Это прямые шаги, которые я выполнил, чтобы начать использовать MayaVi на моей macOS Sierra 10.12.5.

(1) варить установить vtk --with-python3 --without-python

  • На моей машине это заняло примерно 33 минуты.
  • Из того, что я прочитал, одновременно может быть установлена ​​только одна версия/оболочка vtk, поэтому, поскольку вы установили vtk без флагов, вы можете запустить brew uninstall vtk перед запуском этой команды.

(2) pip3 установить Mayavi

Затем я попытался запустить скрипт с http://docs.enthought.com/mayavi/mayavi/auto/example_mlab_visual.html#example-mlab-visual , чтобы проверить, запустится ли он. Я взял этот скрипт в том виде, в котором он был найден, добавил #!/usr/bin/env python3 и запустил его как ./test.py . Это привело к:

======

Трассировка (последний последний вызов): Файл "./test.py", строка 6, в f = mlab.figure(size=(500,500)) Файл "/usr/local/lib/python3.6/site-packages/ mayavi/tools/figure.py", строка 63, на рисунке engine = get_engine() File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", строка 101, на get_engine вернуть файл self.new_engine() "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", строка 146, в файле new_engine check_backend() "/usr/local/lib/python3 .6/site-packages/mayavi/tools/engine_manager.py", строка 49, в check_backend ''') ImportError: Не удалось импортировать бэкенд для трейтов


Убедитесь, что у вас установлены проекты TraitsBackendWx или TraitsBackendQt. Если вы установили Mayavi с помощью easy_install, попробуйте easy_install. easy_install Mayavi[приложение] также будет работать.

Если вы выполнили проверку исходного кода, обязательно запустите «python setup.py install» в Traits, TraitsGUI и бэкенде Traits по вашему выбору.

Также убедитесь, что установлен wxPython или PyQT. wxPython: http: //www.wxpython.org/ PyQT: http: //www.riverbankcomputing.co.uk/software/pyqt/intro`

=====

Итак, после поиска вышеуказанной проблемы я наткнулся на страницу проблемы github, в которой говорилось об установке следующих элементов:

(3) заварить установить wxpython

(4) pip3 install traitsui (это уже было установлено на моей машине)

Затем необходимо установить PyQt, поэтому я следовал указаниям из вопроса о переполнении стека:

(5) кран для заваривания, картридж/кв.4

(6) заварочный кран, картр/qt4

(7) варить установить qt

(8) варить установить pyside

  • На моей машине это заняло около 11 минут.

Теперь я снова попробовал запустить скрипт. На этот раз он запустился, но я получил ошибку:

AttributeError: module 'tvtk.tools.visual' has no attribute 'color'

Поэтому я изменил строку импорта и изменил некоторые строки, в которых создаются коробки:

#!/usr/bin/env python3                                                                               

from mayavi import mlab
from tvtk.tools import visual
from vtk.util import colors as color

# Create a figure                                                                                    
f = mlab.figure(size=(500,500))
# Tell visual to use this as the viewer.                                         
visual.set_viewer(f)

# A silly visualization.                                                                             
mlab.test_plot3d()

# Even sillier animation.                                                                            
b1 = visual.box()
b2 = visual.box(x=4., color=color.red)
b3 = visual.box(x=-4, color=color.red)
b1.v = 5.0

@mlab.show
@mlab.animate(delay=250)
def anim():
    """Animate the b1 box."""
    while 1:
        b1.x = b1.x + b1.v*0.1
        if b1.x > 2.5 or b1.x < -2.5:
            b1.v = -b1.v
        yield

# Run the animation.                                                                                 
anim()

И я могу успешно запустить скрипт!

Мой ответ аналогичен ответу Эрдрика выше, однако я использую conda вместо pip, что упрощает установку.

Во-первых, давайте создадим виртуальную среду:

conda create --name myenv python=3

Во-вторых, активируйте среду с именем «myenv» и обновите conda через:

conda update -n base conda

В-третьих,

brew install vtk --with-python3 --without-python

Окончательно,

conda install -c anaconda mayavi 

Эта команда conda также установит зависимые библиотеки, необходимые для Mayavi.

Эти команды могут работать в последних macos Mojave и более старых версиях Sierra на моей стороне.

У вас есть Homebrew? Если нет, вот как его установить. Это может занять несколько минут. Просто скопируйте и вставьте это:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

после этого вам необходимо сначала установить VTK Python через:

brew install vtk

а затем установить сам mayAVI:

pip install mayavi

Pip — это менеджер пакетов python, который автоматически поставляется с python, и, поскольку у вас есть Mac, он уже установлен в вашей системе. Если по какой-либо причине вы этого не сделаете, вы можете следовать приведенным здесь инструкциям, чтобы загрузить его.

Привет, спасибо за инструкции, я следовал им и успешно установил vtk, однако у меня есть следующая ошибка при установке mayavi через: pip3 install mayavi Command "/usr/local/opt/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/setup.py';f=getattr(tokenize, 'open', open) ( файл ) ;code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file , 'exec'))" install --record
/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-bbm_eqpb-record/install-record.txt --single-version-externally-managed --compile" не удалось с кодом ошибки 1 в /private/var/folders/2d/ qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/
@Tian Я не уверен, вам придется поискать код ошибки в Google, чтобы узнать подробности.
@ Gleland, извините, я понимаю, что был недостаточно конкретным, я использовал команду: pip3 install mayavi, потому что вместо этого я хотел установить mayavi на свой python3, однако я получил сообщение об ошибке: ModuleNotFoundError: нет модуля с именем «vtk», за которым следует этот блок кода, который я прокомментировал ранее. Это помогает?
@Tian Вы смотрели этот пост об этом?