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

标签 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/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,那我突然就不能用matplotlibscipy

为什么我不能用 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/

相关文章:

python - django 多模块结构

python - 无法按位置或属性匹配时在 BeautifulSoup 中提取标签值

python - 从文本文件加载 pytorch 的 n 维张量

python - 如何在json中转储压缩字符串?

eclipse - OSX 上 Eclipse 中的默认字体很糟糕(而且模糊)

objective-c - 无论如何从 objective-c 访问OS X中的系统钥匙串(keychain)

macos - 在 Xamarin Android 项目中的 android Assets 中添加文件夹会引发构建错误

python - ImportError : attempted relative import with no known parent package :(

perl - 为什么不能识别 `cpanm`安装的模块?

python - 为什么我得到 “UnicodeDecodeError: ' utf- 8' codec can' t解码位置227 : invalid start byte” error中的字节0xfd