`导入cv后出现致命Python错误:PyThreadState_Get:当前无线程`

0 投票
1 回答
6066 浏览
提问于 2025-04-17 02:14

我通过 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,但如果你在混用版本,那结果就不确定了。(有可能偶尔能用,也有可能像你遇到的那样随机出错)。

撰写回答