opencv macport python绑定
使用MacPorts安装OpenCV似乎没有安装Python的绑定库。这些绑定库是包含在里面吗?它们应该放在哪里呢?
5 个回答
这个应该安装在
/Library/Python/2.6/site-packages
如果你使用 sudo port install ..
目录 2.6、2.5 等会根据你路径中的 Python 版本而有所不同。
谢谢 Ned,纠正一下上面的内容 - 这些是 macOS 的分发版。
Macports 会把所有东西放在:
/opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/site-packages
我也遇到过这个问题。看起来OpenCV的Python绑定已经构建并安装好了,但在“site-packages”目录中找不到它们。我找到了解决办法,就是在通过MacPorts安装的Python包的“site-packages”目录中添加一个指向构建好的“cv.so”文件的符号链接。这些步骤是在使用Mac OS 10.6.6的环境下测试的,相关的MacPorts包是“python27”和“opencv”。
为了确保Python绑定确实在你的电脑上,你需要确认你是用Python版本调用的opencv包:
sudo port install opencv +python27
“cv.so”这个共享对象文件会在以下目录中生成:
/opt/local/@@PYTHON_PKGD@@
你需要在Python的“site-packages”目录中创建一个符号链接。你可以通过在Python解释器中执行以下命令来找到这个目录的路径:
from distutils.sysconfig import get_python_lib
print get_python_lib()
返回的路径应该类似于以下内容:
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
在这个目录中创建一个指向共享对象(“cv.so”)的符号链接:
ln -s /opt/local/@@PYTHON_PKGD@@/cv.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv.so
现在你应该能够在你的解释器中导入cv模块了:
import cv
如果你使用的是不同版本的Python或OpenCV,你的设置可能会稍有不同;不过,整体的方法应该是一样的,只是路径名称可能会不同。可能还有更好的方法来做到这一点,但这个方法似乎效果不错。
你有没有为MacPorts端口选择+python26这个选项呢?
$ sudo port install opencv +python26