opencv macport python绑定

7 投票
5 回答
6927 浏览
提问于 2025-04-16 03:56

使用MacPorts安装OpenCV似乎没有安装Python的绑定库。这些绑定库是包含在里面吗?它们应该放在哪里呢?

5 个回答

1

这个应该安装在

/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

7

我也遇到过这个问题。看起来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,你的设置可能会稍有不同;不过,整体的方法应该是一样的,只是路径名称可能会不同。可能还有更好的方法来做到这一点,但这个方法似乎效果不错。

10

你有没有为MacPorts端口选择+python26这个选项呢?

$ sudo port install opencv +python26

撰写回答