4

我整天都在努力安装VTK包,最后看起来一切都安装成功了。

当我import vtk收到错误消息时:

Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6

那是使用env python指向的默认值/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

如果我使用/usr/bin/python,这/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7/ 表明它似乎工作正常!

如何让 vtk 模块为我的默认 python 工作?


为什么我想使用/opt/local/python 而不是/System/python:
我所有的其他模块都是通过 MacPorts 安装的,用于/opt/local/python 安装。所以如果我使用/opt/local/bin/python导入vtk,那么我突然不能使用matplotlibscipy等等。

为什么我不能用 MacPorts 安装 vtk:
我在安装 macports vtk 时不断收到错误 --- 我已经提交了一个 trac 错误,但还没有听到任何消息。

谢谢!

4

1 回答 1

3

这周我自己也有这个问题。感谢 [1] 的解决方案是从 git 源 [2] 自己构建它。

git clone https://github.com/Kitware/VTK.git VTK
mkdir VTK-build && cd VTK-build
ccmake ../VTK
  • 按“t”进入高级模式。确保您已设置“VTK_WRAP_PYTHON:ON”。
  • 按“c”运行第一个配置。
  • 设置 PYTHON_EXECUTABLE: /to/your/python (对于 Macports: /opt/local/bin/python)
  • 设置 PYTHON_INCLUDE_DIR:/to/your/Python.framework/Headers(对于 Macports:/opt/local/Library/Frameworks/Python.framework/Headers)
  • 设置 PYTHON_LIBRARY:/to/your/Python.framework/libpythonx.x.dylib(对于 Macports:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib)
  • 按'c'运行最终配置
  • 按'g'生成make文件

    make
    [sudo] make install
    

根据您运行的 OS X 版本,请记住它们仅支持 OS X 10.9,因为 VTK v6.10 可以从 [2] 克隆。

如果您不想自己构建它并希望全部通过 Macports,以下链接可能有用,但我没有尝试:http ://trac.macports.org/ticket/19569

[1] http://www.bioimagexd.net/wiki/index.php?title=Build_in_Mac_OSX#Building_VTK

[2] github[dot]com/Kitware/VTK

于 2013-12-16T00:19:48.640 回答