什么原因导致Python出现“Interpreter not Initialized (version mismatch?)”错误?

6

我现在已经连续第三天尝试让OpenCV与Python配合使用(过去6个月我一直断断续续地尝试)。

我遇到了这个错误:

Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34) 
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so", 2);
import readline # dynamically loaded from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so
>>> import cv
dlopen("./cv.so", 2);
Fatal Python error: Interpreter not initialized (version mismatch?)

然后它崩溃了(核心转储)。python -vdlopen之后没有给出任何内容。

有没有实际了解这个错误的人有什么想法?


1个回答

3
每次我尝试在OS X上编译OpenCV时,它都会声称找到我的自定义安装的Python,但实际上却链接到系统Python(2.6)。
如果您查看OpenCV的完整编译器输出,就会发现它实际上链接到了2.6,并且无法在您的自定义2.7中使用。
如果您能够找出如何使OpenCV正确地链接到用户提供的Python,请执行以下操作:
- 将补丁发送给上游 - 让Homebrew知道(https://github.com/mxcl/homebrew

@marcog 我没有报告它,因为我只是在Homebrew下编译OpenCV以测试它。我确实告诉了所有关于Python不匹配的错误报告者将此事上报。 - Adam Vandenberg
这里有一个黑客技巧 http://www.dudek.org/blog/150,声称可以通过在构建之前将Apple库的chmod设置为000来修复它,并在修复后进行修复! - user122299
@ראובן 我宁愿暂时移动文件。 - moinudin
1
就我所知,我已经追踪到了这个错误,它与CMake支持检测Python有关;它检测到了错误的支持文件夹,但实际上很难通过编程确定这个文件夹。https://dev59.com/ClHTa4cB1Zd3GeqPPTCH 我在那里接受的答案实际上并没有解决这个OpenCV问题。 - Adam Vandenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接