OSX 10.8.2 に Python 2.7.3 の brew インストールで pip を使用して FiPy をインストールした後、次のサンプル テスト コードを実行しました。
from fipy import *
mesh = Grid3D(nx=50, ny=100, nz=10, dx=0.1, dy=0.01, dz=0.1)
x, y, z = mesh.cellCenters
xyzVar = CellVariable(mesh=mesh, name=r"x y z", value=x * y * z)
k = Variable(name="k", value=0.)
viewer = MayaviClient(vars=numerix.sin(k * xyzVar), limits={'ymin': 0.1, 'ymax': 0.9}, datamin=-0.9, datamax=2.0, title="MayaviClient test")
for kval in range(10):
k.setValue(kval)
viewer.plot()
viewer._promptForOpinion()
次のエラーが発生しました。
File "/usr/local/lib/python2.7/site-packages/pyface/qt/__init__.py", line 17, in prepare_pyqt4
sip.setapi('QString', 2)
ValueError: API 'QString' has already been set to version 1
prepare_pyqt4 で sip.setapi('QString', 2) と sip.setapi('QVariant', 2) をコメントアウトして、どこまで到達できるかを確認することにしました。この単純なハックは、バージョン管理の問題は解決しましたが、新たな問題が発生しました。
File "/Library/Python/2.7/site-packages/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 79, in <module>
from enthought.mayavi.plugins.app import Mayavi
ImportError: No module named enthought.mayavi.plugins.app
FiPy Mayavi ビューアにはモジュールがないようです。
私のサイトパッケージもすべて同じ場所にあるはずだと思います。pip は /Library/Python/2.7/site-packages にインストールされ、brew は /usr/local/lib/python2.7/site-packages にインストールされるようですが、修正する必要があります (問題は pip にあると思います)。
私が抱えている質問は、(これらのエラーを生成せずに) Mayavi で動作するクリーンな FiPy インストールを取得し、サイト パッケージを修正するにはどうすればよいかということです。