我正试图在我的电脑上安装MayaVi。我在一个带有OSX10.6.8,4GB内存的MacBook Air上。
我的python和我的大部分堆栈都是通过自制或pip构建的。特别是对于python2.7、ipython、Qt4、numpy、scipy、vtk等。VTK安装了-python和-qt-extern标志,并且所有的构建都很好。我没有安装wxPython,因为我无法通过pip、手动构建或二进制文件来完成它的工作。
如果我运行ipython -q4thread,我无法成功地执行from mayavi import mlab,因为我得到了一个与PyQt:http://groups.google.com/group/spyderlib/browse_thread/thread/36a35baec74ca144使用两个不同API相关的错误。
但是,如果我单独运行ipython,就可以成功地运行from mayavi import mlab。然后,我尝试遵循下面的示例:http://github.enthought.com/mayavi/mayavi/example_using_with_scipy.html,它包括以下命令:
import numpy as np
def V(x, y, z):
""" A 3D sinusoidal lattice with a parabolic confinement. """
return np.cos(10*x) + np.cos(10*y) + np.cos(10*z) + 2*(x**2 + y**2 + z**2)
X, Y, Z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]
from mayavi import mlab
mlab.contour3d(X, Y, Z, V)这一切都很好,我得到一个窗口弹出,我可以旋转三维图形等。然而,我点击图标打开管道,这将打开另一个窗口。然后教程说双击“等表面”来改变它的属性。一旦我这样做,我就会得到一个可重复的分割错误。
我不知道如何开始找出问题所在。
或者,我可以从命令行运行MayaVi:mayavi2,然后弹出GUI。当我这样做时,我得到以下输出:
Warning: Unable to import the wx backend for pyface due to traceback: Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/toolkit.py", line 45, in _init_toolkit
be = import_toolkit(tk)
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/toolkit.py", line 31, in import_toolkit
__import__(be + 'init')
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/pyface/ui/wx/init.py", line 14, in <module>
import wx
ImportError: No module named wx虽然GUI确实会弹出,但如果我尝试执行任何操作,则会出现分段错误。
请让我知道,如果您有任何想法,疑难解答,或可能指导重新安装软件包成功。
谢谢!
乌里
发布于 2012-09-09 11:20:01
我也有一个MacBook空气与OSX10.7.4(狮子)。我在二月花了很多时间让梅拉维发挥作用,最终我成功地制作出了科学的地块。这仍然意味着一些示例和测试无法正确运行,GUI在控制台中产生了大量错误消息,但没有崩溃(大多数情况下)。现在,我成功地破坏了Python安装(可能是通过升级numpy),所以我需要重新安装。唉,6个月后,事情并没有变得更容易!
仍然没有可行的预编译选项。我从这里尝试了Enthought发行版:http://www.enthought.com/repo/.epd_academic_installers。仍然没有64位版本的ETS,组件是古老的,基于wxPython的mayavi看起来很难看,而且速度慢,反应迟钝。回到brew和pip。经过大量的尝试和错误之后,以下是多少起作用的东西:
1.先决条件
隐藏/卸载已损坏的Homebrew安装:
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 .如果安装了环境保护署,在/Library/Frameworks/Python.framework/Versions中也需要这样做,否则环保署将优先考虑。
2.2 Numpy
从源安装numpy (pip 1.2目前没有正确安装npymath.ini,这将使npymath.ini无法构建):
git clone https://github.com/numpy/numpy.git
cd numpy
git checkout v1.6.2
python setup.py install由于有这么多软件包链接到numpy,所以我确实建议查看官方发布版1.6.2到今天。接下来,使numpy标题可见:
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但这似乎产生了更多的崩溃与梅拉维。无论如何,追加
export QT_API=pyqt以避免任何混淆。下一步安装vtk (5.10.0;5.8.0也同样有效)
brew install vtk --python --tcl --examples --qt...and等待(编译大约需要40分钟)。--qt标志不是严格必要的,但它也没有坏处。
接下来,从http://www.vtk.org/files/release/5.10/vtkdata-5.10.0.tar.gz下载vtk数据,解压缩并让VTK_DATA_ROOT环境变量指向VTKData目录。中运行一些示例
/usr/local/share/vtk/Examples用python <example>.py启动python示例,用vtk <example.tcl>启动TCL示例。效果非常好,对吧?所以让我们看看梅拉维下一步是怎么搞砸的.
2.4 ETS和mayavi
尽管
pip install mayavi在某个地方,它似乎会产生比从github安装流血边缘更多的崩溃。获取https://github.com/enthought/ets/raw/master/ets.py并运行
python ets.py clone克隆ETS git存储库。您只需要apptools、mayavi、pyface、traits和traitsui,如果要从命令行运行mayavi2,则可能需要envisage。因此,删除其他目录并执行
python ets.py develop这将允许您在mayavi/examples/tvtk和mayavi/examples/mayavi中运行存储库中的一些示例,方法是运行python <example>.py并使用GUI。有许多控制台错误和许多GUI功能不起作用,比如选择LUT表。但希望它不会崩溃。
2.5 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然后使用pip安装ipython (0.13)。对于qt控制台,首先安装:
pip install pygments
pip install pyzmq然后
pip install ipython启动与mayavi一起使用的ipython有几种可能的方法,这取决于谁控制QT事件循环:
ipython with mlab.show():Hangs.ipython with mlab.show():Works,但提示符可能变成unresponsive.ipython --gui=qt或ipython --pylab=qt:Works,但是“保存”对话框关闭没有mlab.show()的immediately.ipython qtconsole:带有mlab.show():Works.ipython qtconsole --gui=qt或ipython qtconsole --pylab=qt:Works.祝好运!
https://stackoverflow.com/questions/7720411
复制相似问题