`导入cv后出现致命Python错误:PyThreadState_Get:当前无线程`
我通过 sudo brew install opencv
安装了 OpenCV。
然后我按照 brew info opencv
的提示,把 PYTHONPATH
加入到我的 ~/.profile
文件里。接着我用 env
命令检查了一下,确认这个路径已经加载成功。
可是每次我尝试 import cv
时,Python 都会报错,提示 Fatal Python error: PyThreadState_Get: no current thread Abort trap
。
我该怎么办呢?
*PYTHONPATH=/usr/local/lib/python2.7/site-packages/:
** 实际上,它指向的是 python2.6
文件夹,但我用的是 2.7 版本的 Python,而 cv 2.2 是支持这个版本的。
1 个回答
1
cv 2.2 可能支持这个功能,但你绝对不能把不同版本混在一起使用。你必须用为 2.7 版本专门制作的库来配合 2.7,而用为 2.6 制作的库来配合 2.6。
我觉得 cv 是一个 Python 库,它依赖于一个 C 语言的库——在这种情况下,你不能随便混用这些库。
如果你只有 2.6 版本的 cv,那么你需要重新编译它,以便能在 2.7 上使用。
不过,这种致命错误通常意味着 cv 库里有 bug,但如果你在混用版本,那结果就不确定了。(有可能偶尔能用,也有可能像你遇到的那样随机出错)。