如何在macos上使用opencv和python
我正在将一个在windows上开发的python+opencv应用程序移植到mac上 在windows上,我的virtualenv站点包中包含了cv2.pyd,运行良好 我是mac电脑的新手,我不明白它是否应该工作。我没有找到任何用于opencv python绑定的二进制文件,似乎正确的方法是使用macport macport正在复制opts/../site包中的cv.py和cv2.so 此时如何使用呢 我试图手动复制这两个文件,但出现错误如何在macos上使用opencv和python,python,macos,opencv,osx-snow-leopard,Python,Macos,Opencv,Osx Snow Leopard,我正在将一个在windows上开发的python+opencv应用程序移植到mac上 在windows上,我的virtualenv站点包中包含了cv2.pyd,运行良好 我是mac电脑的新手,我不明白它是否应该工作。我没有找到任何用于opencv python绑定的二进制文件,似乎正确的方法是使用macport macport正在复制opts/../site包中的cv.py和cv2.so 此时如何使用呢 我试图手动复制这两个文件,但出现错误 >>> import cv Trac
>>> import cv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv.py", line 1, in <module>
from cv2.cv import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so, 2): no suitable image found. Did find:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so: mach-o, but wrong architecture
似乎存在不匹配。如何修复它?目标体系结构中似乎存在不匹配。您可以尝试使用+通用版本在macports中安装opencv 另一个选项是更新您的Python版本。我相信更新的版本也是为x86_64编译的
作为第三种选择,您可以在macports中使用+python27安装opencv。然后,您可以通过执行
sudo-port-select-python27
来选择macports版本的Python,在我的例子中,arch是匹配的:
$ file ../../release.mac/lib/cv2.so
../../release.mac/lib/cv2.so: Mach-O 64-bit dynamically linked shared library x86_64
$ file `which python`
/usr/bin/python: Mach-O universal binary with 2 architectures
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
但不知道python以32位模式运行:
$ defaults read com.apple.versioner.python Prefer-32-Bit
1
固定人:
$ VERSIONER_PYTHON_PREFER_32_BIT=0 python
或
您能否给出“file/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site packages/cv2.so”和“file
which Python
”的输出。这听起来像是目标体系结构(i386、x86_64)的不匹配。谢谢。似乎存在不匹配。查看我的更新
$ VERSIONER_PYTHON_PREFER_32_BIT=0 python
$ defaults write com.apple.versioner.python Prefer-32-Bit -bool no