1

コンピュータに MayaVi をインストールしようとしています。OS X 10.6.8、4 GB RAM を搭載した MacBook Air を使用しています。

私の python と私のスタックのほとんどは、Homebrew または pip を介して構築されています。特に、これは python2.7、ipython、Qt4、numpy、scipy、vtk などに当てはまります。VTK は Homebrew で --python および --qt-extern フラグを使用してインストールされ、すべてのビルドに問題はありませんでした。pip、手動ビルド、またはバイナリで動作させることができなかったため、wxPython をインストールしていません。

を実行すると、PyQt の 2 つの異なる API の使用に関連するエラーが発生するため、ipython -q4thread正常に実行できません: http://groups.google.com/group/spyderlib/browse_thread/thread/36a35baec74ca144from mayavi import mlab

しかし、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)

これはすべて正常に動作し、ポップアップ ウィンドウが表示され、3D プロットなどを回転させることができます。ただし、アイコンをクリックしてパイプラインを開くと、別のウィンドウが開きます。チュートリアルでは、「等値面」をダブルクリックしてそのプロパティを変更するように指示されています。これを行うとすぐに、再現可能なセグメンテーション違反が発生します。

問題が何であるかを理解し始める方法がわかりません。

または、コマンド ラインから 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 はポップアップしますが、何らかの操作をしようとすると、segfault が発生します。

この問題のトラブルシューティングについて何か考えがある場合、またはパッケージを正常に再インストールするためのガイダンスがある場合はお知らせください。

ありがとう!

ウリ

4

1 に答える 1

1

OS X 10.7.4 (Lion) を搭載した MacBook Air も持っています。私は2月にmayaviを機能させるために多くの時間を費やし、最終的には科学的なプロットを作成できるようになりました. これは、例とテストの一部が正しく実行されず、GUI がコンソールに多くのエラー メッセージを生成することを意味しますが、(ほとんどの場合) クラッシュしませんでした。さて、Python のインストールを (おそらく numpy をアップグレードすることによって) 壊すことができたので、再インストールする必要がありました。残念ながら、それは 6 か月後も容易ではありませんでした。

実行可能なプリコンパイル済みオプションはまだありません。ここから Enthought Python ディストリビューションを試しました: http://www.enthought.com/repo/.epd_academic_installers。Mac 用の ETS を備えた 64 ビット バージョンはまだありません。コンポーネントは古く、wxPython ベースの mayavi は見栄えが悪く、遅くて応答がないと感じます。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 パイソン

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 をインストールします (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 を確認することを強くお勧めします。次に、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

しかし、これはmayaviでより多くのクラッシュを引き起こすようです. いずれにせよ、追加

export QT_API=pyqt

混乱を.bashrc避けるために。次にvtkをインストールします(5.10.0; 5.8.0も同様に機能します)

brew install vtk --python --tcl --examples --qt

...そして待ちます (コンパイルには約 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 の例を起動しpython <example>.py、 で TCL の例を起動しvtk <example.tcl>ます。絶対に美しく機能しますよね?それでは、次に mayavi がどのようにすべてを台無しにするかを見てみましょう...

2.4 ETSとマヤビ

それでも

pip install mayavi

github からブリーディング エッジをインストールするよりも多くのクラッシュが発生するようです。https://github.com/enthought/ets/raw/master/ets.pyを取得して実行します

python ets.py clone

ETS git リポジトリのクローンを作成します。コマンド ラインから実行する場合は、、、、およびapptoolsのみが 必要ですmayavi。したがって、他のディレクトリを削除して実行しますpyfacetraitstraitsuienvisagemayavi2

python ets.py develop

これにより、リポジトリ内のいくつかの例を GUI で実行したり、GUI で遊んだりできるようにmayavi/examples/tvtkなりmayavi/examples/mayaviますpython <example>.py。LUT テーブルの選択など、多くのコンソール エラーと動作しない多くの GUI 機能があります。しかし、クラッシュしないことを願っています。

2.5 scipy、matplotlib、ipython

私は、scipy と matplotlib の github から最先端を取得することを好みます。まず、を使用してすべての依存関係をインストールし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

誰が QT イベント ループを制御しているかに応じて、mayavi で使用するために ipython を起動する方法がいくつかあります。

  • ipythonなしmlab.show(): ハングします。
  • ipythonwith mlab.show(): 動作しますが、プロンプトが応答しなくなる場合があります。
  • ipython --gui=qtまたはipython --pylab=qt: 動作しますが、[保存] ダイアログがすぐに閉じます。
  • ipython qtconsoleなしmlab.show(): ハングします。
  • ipython qtconsolemlab.show(): 動作します。
  • ipython qtconsole --gui=qtまたはipython qtconsole --pylab=qt: 動作します。

幸運を!

于 2012-09-09T11:20:01.867 に答える