У меня также есть MacBook Air с OS X 10.7.4 (Lion).В феврале я потратил много времени на то, чтобы заставить майави работать, и в итоге я смог подготовить научные сюжеты.Это по-прежнему означает, что некоторые примеры и тесты не будут работать правильно, а графический интерфейс выдает множество сообщений об ошибках в консоли, но не вылетает (большую часть времени).Теперь мне удалось прервать установку Python (возможно, путем обновления numpy), поэтому мне нужно было переустановить.Увы, через 6 месяцев не стало легче!
По-прежнему нет жизнеспособной предварительно скомпилированной опции.Я попробовал Enthought Python Distribution отсюда: http://www.enthought.com/repo/.epd_academic_installers. До сих пор нет 64-битной версии с ETS для Mac, компоненты старые, майави, основанные на wxPython, выглядят уродливо, медлительны и не реагируют.Итак, вернемся к brew
и pip
.После многих проб и ошибок вот что сработало более или менее:
1.Предварительные условия
Скрыть / удалить поврежденную установку Homebrew Python:
mv /usr/local/lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages-old
mv /usr/local/share/python /usr/local/share/python-old
brew uninstall python pyqt pyside vtk
В Xcode (4.4.1) выберите llvm-gcc
в качестве компилятора (у меня был меньше успех с clang
):
cd /usr/bin
sudo rm cc c++
sudo ln -s gcc cc
sudo ln -s g++ c++
2.Установка
2.1 Python
brew install python --framework --universal
Укажите новую установку:
cd /System/Library/Frameworks/Python.framework/Versions
rm Current
ln -s /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current .
Если установлен EPD, то же самое нужно сделать в /Library/Frameworks/Python.framework/Versions
,в противном случае EPD будет иметь приоритет.
2.2 Numpy
Установить numpy из источника (pip
1.2 в настоящее время не устанавливает npymath.ini
правильно, что не позволяет scipy создать):
git clone https://github.com/numpy/numpy.git
cd numpy
git checkout v1.6.2
python setup.py install
Поскольку многие пакеты ссылаются на numpy, я действительно рекомендую проверить официальный выпуск 1.6.2 на сегодняшний день.Затем сделайте видимыми пустые заголовки:
cd /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/include/python2.7
ln -s /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy .
2,3 qt, pyqt, vtk
Установите qt (4.8.2) и pyqt (4.9.4):
brew install qt
brew install pyqt
Можно также установить pyside (1.1.1)
brew install pyside
, но этот , по-видимому, вызывает больше сбоев с mayavi.В любом случае добавьте
export QT_API=pyqt
к .bashrc
, чтобы избежать путаницы.Далее установите vtk (5.10.0; 5.8.0 работает так же)
brew install vtk --python --tcl --examples --qt
... и подождите (компиляция занимает около 40 минут).Флаг --qt
не является строго необходимым, но он также не причиняет вреда.
Затем загрузите данные vtk из http://www.vtk.org/files/release/5.10/vtkdata-5.10.0.tar.gz,, распакуйте их куда-нибудь и укажите переменную среды VTK_DATA_ROOT
в каталоге VTKData
.Запустите несколько примеров в
/usr/local/share/vtk/Examples
Запустите примеры Python с python <example>.py
и TCL с vtk <example.tcl>
.Работает абсолютно красиво, верно?Итак, давайте посмотрим, как Mayavi испортит все это в следующем ...
2.4 ETS и mayavi
Хотя
pip install mayavi
куда-то вас заводит, похоже, что оно вызывает больше сбоев, чемустановка кровоточащей кромки из github.Получите https://github.com/enthought/ets/raw/master/ets.py и запустите
python ets.py clone
, чтобы клонировать GIT-репозиторий ETS.Вам нужны только apptools
, mayavi
, pyface
, traits
и traitsui
, возможно envisage
, если вы хотите запустить mayavi2
из командной строки.Поэтому удалите другие каталоги и выполните
python ets.py develop
. Это позволит вам запустить некоторые примеры из репозитория в mayavi/examples/tvtk
и mayavi/examples/mayavi
, запустив python <example>.py
и поиграться с GUI.Существует множество ошибок консоли и множество функций графического интерфейса, которые не работают, например, выбор таблицы LUT.Но, надеюсь, это не даст сбой.
2.5 scipy, matplotlib, ipython
Я предпочитаю получить кровоточащий край от github для scipy и matplotlib.Сначала установите все зависимости, используя brew
.Затем
git clone https://github.com/scipy/scipy.git
cd scipy
python setup.py install
git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py install
Затем установите ipython (0.13), используя pip
.Для установки qtconsole сначала:
pip install pygments
pip install pyzmq
, затем
pip install ipython
Существует несколько возможных способов запуска ipython для использования с mayavi, в зависимости от того, кто контролирует цикл событий QT:
ipython
без mlab.show()
: зависает. ipython
с mlab.show()
: работает, но подсказка может перестать отвечать. ipython --gui=qt
или ipython --pylab=qt
: работает, но диалоговое окно «Сохранить» закрывается немедленно. ipython qtconsole
без mlab.show()
: зависает. ipython qtconsole
с mlab.show()
: работает. ipython qtconsole --gui=qt
или ipython qtconsole --pylab=qt
: Работает.
Удачи!