【问题标题】:installing opencv3 for python3 in OSX在 OSX 中为 python3 安装 opencv3
【发布时间】:2016-12-05 11:58:19
【问题描述】:

所以我关注了this tutorial,得到了这个错误:

brew link --overwrite eigen
brew install opencv3 --with-python3 --with-contrib

~/.profile 中写了这篇文章并获取了它:

export PYTHONPATH=$PYTHONPATH:/usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packages
source ~/.profile
python3
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 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'

谁能指导我哪里出了问题以及如何解决?

更新:

我也试过这个:

Monas-MacBook-Pro:build mona$ brew ln --force opencv3
Linking /usr/local/Cellar/opencv3/3.1.0_3... 
Error: Could not symlink bin/opencv_annotation
Target /usr/local/bin/opencv_annotation
is a symlink belonging to opencv. You can unlink it:
  brew unlink opencv

To force the link and overwrite all conflicting files:
  brew link --overwrite opencv3

To list all files that would be deleted:
  brew link --overwrite --dry-run opencv3
Monas-MacBook-Pro:build mona$ brew link --overwrite opencv3
Warning: opencv3 is keg-only and must be linked with --force
Note that doing so can interfere with building software.
Monas-MacBook-Pro:build mona$ brew link --force --overwrite opencv3
Linking /usr/local/Cellar/opencv3/3.1.0_3... 551 symlinks created

【问题讨论】:

  • 也许可以试试cp /usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packages/* /usr/local/lib/python3.4/site-packages/ ...
  • 'cp: /usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packages/*: 没有那个文件或目录'

标签: python macos python-3.x opencv opencv3.0


【解决方案1】:

由于您使用 Homebrew 安装 OpenCV3,您的符号链接可能已损坏。

由于 homebrew/science 中 OpenCV 的当前版本是 3.1.0,您的符号链接可能应该指向

/usr/local/Cellar/opencv3/3.1.0_3/lib/python3.5/site-packages

3.1.0_3 和 python3.5 在您的系统上可能会有所不同,因此请自行查看 /usr/local/Cellar 中的目录。

顺便说一句,我做完之后不需要链接任何东西

brew ln --force opencv3

【讨论】:

  • 对我不起作用。请检查更新的问题以及在看到您的建议后我尝试了什么。但是我仍然无法导入 cv2
  • 非常适合我brew ln --force opencv3
【解决方案2】:

您需要将您的 opencv 链接到 python 站点包

使用ln -s [cellar-opencv-site-packages-path] [lib-python-site-packages-path]链接cv.pycv2.so

ln -s /usr/local/Cellar/opencv3/3.1.0_3/lib/python3.4.1/site-packages/cv.py /usr/local/lib/python3.4.1/site-packages/cv.py

ln -s /usr/local/Cellar/opencv3/3.1.0_3/lib/python3.4.1/site-packages/cv2.so /usr/local/lib/python3.4.1/site-packages/cv2.so

路径将基于 opencv 和 python 版本。

在这里 - [opencv3/3.1.0_3][python3.4.1]


简而言之,将 cv.pycv2.so/usr/local/Cellar/opencv3/[[version]]/lib/python[[version]]/site-packages/ 复制/链接到 /usr/local/lib/python[[version]]/site-packages/


或者您也可以将 opencv 站点包添加到 PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/usr/local/Cellar/opencv3/3.1.0_3/lib/python3.4.1/site-packages/

source ~/.profile

【讨论】:

  • 我的问题是我在地窖目录中没有 python3.5。我只有 python 2.7 ls /usr/local/Cellar/opencv3/3.1.0_3/lib/python2.7/site-packages/cv2.so 但在 sys.path 我有 `['', '/usr/local/Cellar/python3/3.5.2_1/Frameworks/Python.framework/Versions/3.5/lib/python35.zip' , '/usr/local/Cellar/python3/3.5.2_1/Frameworks/Python.framework/Versions/3.5/lib/python3.5'等
  • 运行 - """ ls /usr/local/lib/python* """ AND """ ls /usr/local/Cellar/opencv3/ """ AND """ ls /usr /local/Cellar/opencv3/3.1.0_3/lib/ """- 输出是什么?
  • 我的问题是这个目录里没有python3 /usr/local/Cellar/opencv3/3.1.0_3/lib/
  • DO - """brew reinstall opencv3 --with-python3 --with-python2"""
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 2017-09-23
  • 2017-12-19
  • 2017-02-20
相关资源
最近更新 更多