我整天都在努力安装 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
/p>
如果我使用/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,那我突然就不能用matplotlib
,scipy
等
为什么我不能用 MacPorts 安装 vtk:
我一直在安装 macports vtk 时遇到错误 --- 我已经提交了一个 trac 错误,但还没有听到任何消息。
谢谢!
最佳答案
这周我自己也遇到了这个问题。感谢 [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
关于python - 模块适用于/usr/bin/python 但不适用于/opt/local/bin/python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17374112/