0

在 OSX 10.8.2 上使用 pip 和 brew 安装 Python 2.7.3 安装了 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) 来看看我能走多远。这个简单的 hack 通过了版本控制问题,但提出了一个新问题。

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 上)。

我的问题是如何获得一个干净的 FiPy 安装与 Mayavi 一起工作(不产生这些错误)并修复我的站点包?

4

1 回答 1

0

我不确定是什么导致了你的问题。我在 Mac OS X 10.6.8 下运行 Homebrew 安装,Mayavi 为我工作(包括您的示例脚本)。我在http://matforge.org/fipy/wiki/InstallFiPy/MacOSX/HomeBrew描述了我的安装过程

我能猜到的唯一问题是你说你的 pip 安装到/Library/Python/2.7/site-packages. 我猜你正在使用系统 python 而不是 brew 安装的。上次我这样做时,我不得不这样做brew install pythoneasy_install pip但是https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python听起来就像你现在用酿造的 python 自动获得 pip 一样。

尝试做

  • which python
  • which easy_install
  • which pip
于 2013-01-28T21:01:33.060 回答