模块适用于/ usr / bin / python但不适用于/ opt / local / bin / python

时间:2013-06-28 21:41:20

标签: python macos module vtk

我一直在努力安装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错误,但还没有听到任何消息。

谢谢!

1 个答案:

答案 0 :(得分: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)< / LI>
  • 按'c'运行最终配置
  • 按'g'生成make文件

    make
    [sudo] make install
    

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

如果您不想自己构建并希望通过Macport 所有,以下链接可能会有用,但我没有尝试: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