菲麦前端编程日常操作

记 Mac 上安装 openCv 的经历(巨坑)

2018-05-04  本文已影响78人  小虫巨蟹

最近需要使用 python 调用 openCv 来玩一些东西,结果安装 openCv 的过程充满血泪

环境和安装过程

  1. mac 环境,自带 python 2.7
  2. 首先安装了 homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 安装 openCv

brew install homebrew/science/opencv
brew install homebrew/science/opencv3

不走运,报错了,因为 openCv homebrew 上的地址已经迁移,于是:

brew install homebrew/core/opencv
brew install homebrew/core/opencv3

  1. 配置环境变量

cd /Library/Python/2.7/site-packages/

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

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

  1. 测试

python
import cv2

踩坑

上面第五步测试,幸运的是,报的不是
ImportError: No module named cv2, 证明环境变量配置成功,模块找到了

但是不幸的是,报了一个:
ImportError: numpy.core.multiarray failed to import

谷歌了一下,网上一堆解决办法,而且解决办法很集中,就是版本过低了,升级版本,删除重装,等等一系列的办法,好像也不是啥大事

But,这一试就是一个下午啊,就是不行,绝望

灵光一闪

看了很多 issue,突然发现,安装 openCv 的时候,有自动安装 numpy,而我使用的 homebrew 安装,进入到 homebrew 安装目录,

cd /usr/local/Cellar
ls

果然有一个 numpy 目录
而 pip 的安装目录

/usr/local/lib/python2.7/site-packages
ls

也有这个 numpy

解决办法

  1. 删除 cellar 上的 numpy
rm -rf /usr/local/Cellar/numpy
  1. 删除 pip 上的 numpy
rm -rf /usr/local/lib/python2.7/site-packages/numpy
rm -rf /usr/local/lib/python2.7/site-packages/numpy-1.14.3.dist-info
  1. 重装
pip install numpy
上一篇下一篇

猜你喜欢

热点阅读