python 未找到但已安装的 cv2

python cv2 not found but installed

我pip安装了cv2 opencv2 python lib

pip install cv2

我也使用

在我的机器上安装了 opencv

brew install opencv

它安装正确,如果我再次尝试 运行 它,我会得到

Requirement already satisfied (use --upgrade to upgrade): cv2 in /Library/Python/2.7/site-packages

然而,当我尝试导入它时,我得到一个错误,那就是它没有找到。为简单起见,我将通过我的终端 运行 python:

Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>

在 mac 上使用 brew 安装 opencv 时还需要完成几个步骤。

创建指向已编译库的符号链接

ln -s /usr/local/Cellar/opencv/<opencv_version>/lib/python2.7/site-packages/cv.py cv.py
ln -s /usr/local/Cellar/opencv/<opencv_version>/lib/python2.7/site-packages/cv2.so cv2.so

然后,更新您的 PYTHONPATH 以包含站点包

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

归功于 jjyap

请注意,这对于 opencv 2 版本是正确的。对于 opencv 3,还有一些其他步骤需要完成,例如构建 opencv 以及此处描述的额外模块 - opencv_contrib.

在 MacOS 中遇到了完全相同的问题。尝试 ls /Library/Python 并获得 ls: permission denied 因此我没有对该文件夹的读取权限。

所以我更改了文件夹的权限:

sudo find  ~/Library/Python -type d -exec chmod 755 {} \;

它奏效了。