导致Python“解释器未初始化(版本不匹配?)”错误的原因是什么?
我这周已经花了整整三天时间在尝试让OpenCV和Python一起工作了。(其实我已经断断续续尝试了六个月)。
我遇到了这个错误:
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 -v
命令在 dlopen
后面什么也没有显示。
有没有人能给我一些关于这个错误的建议?
1 个回答
3
每次我尝试在OS X上编译OpenCV时,它都会声称找到了我自定义安装的Python,但实际上却链接到了系统自带的Python(2.6)。
这里发生的事情是,如果你查看OpenCV的完整编译输出,你会发现它实际上链接到了2.6,这样的话在你的自定义2.7上就无法使用了。
如果你能找到让OpenCV正确链接到用户提供的Python的方法,请:
- 把这个修复提交给上游
- 让Homebrew知道( https://github.com/mxcl/homebrew )