LoginSignup
16
16

More than 5 years have passed since last update.

Homebrewで Python3 OpenCV3をMacにインストール

Posted at

OpenCV3のPython3バインディングをhomebrew経由でインストール中にDoes not support building both Python 2 and 3 wrappersのエラーがでて止まったので,その解決方法を記しておきます。

以下のページを参考にしました。
http://www.pyimagesearch.com/2016/12/19/install-opencv-3-on-macos-with-homebrew-the-easy-way/
http://www.pyimagesearch.com/2017/05/15/resolving-macos-opencv-homebrew-install-errors/

Windowsでは,http://qiita.com/hitomatagi/items/d5d475a446ec9c73261e の手法でインストールできるようです。

環境

  • MacOS Sierra
  • homebrew
  • python3.6
  • OpenCV3.2

homebrewはインストール済みとします。

Python3のインストール

現時点での最新版Python3.6をインストールします。

Python3のインストール
brew install python3

OpenCV3はnumpyを利用するので,Python3といっしょにインストールされるpip3を使ってnumpyをインストールしておきましょう。その他必要であればmatplotlibやjupyterなどを入れておくと便利です。

numpyのインストール
pip3 install numpy

homebrewのフォーミュラを追加

デフォルトのフォーミュラにはOpenCV3がはいってないので追加します。

brew tap homebrew/science

OpenCV3のインストールエラー

ここで,以下のようにインストールを実行すると"Does not support building both Python 2 and 3 wrappers"というエラーがでてインストールに失敗します。

brew install opencv3 --with-python3

OpenCV3のインストール方法

Resolving macOS, OpenCV, and Homebrew install errors によると以下のようにオプションを指定することでOpenCV3のPython3バインディングがインストールができます。
--with-contribはOpenCV3の拡張をインストールするオプションなのでつけなくてもよいです。

brew install opencv3 --with-contrib --with-python3 --without-python

どうやら--with-python3のみだと,Python2バインディングもビルドしようとするためエラーとなるようです。なので明示的にPython2バインディングはいらないとオプションをつけてやります。

環境にもよりますが,5分から10分ほどでインストールが完了します。

.soファイルのシンボリックリンクをはる

OpenCV3のPython3バインディングをインストールした直後だとimport cv2をしてもインポートエラーが発生します。

なので,cv2.soファイルのシンボリックリンクをPython3のsite-packagesフォルダにはります。

homebrewでインストールしたPython3のsite-packagesフォルダ
/usr/local/lib/python3.6/site-packages
cv2があるフォルダ
/usr/local/Cellar/opencv3/3.2.0/lib/python3.6/site-packages
cv2のシンボリックリンクを作成
ln -s /usr/local/Cellar/opencv3/3.2.0/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so /usr/local/lib/python3.6/site-packages/

"3.2.0"の部分と"python3.6"の部分は各自インストールしたバージョンに合わせてください。

import cv2してみる

ターミナルなどでPython3を起動して,以下のように打ち込むとOpenCV3が使えるようになっているはずです。

import cv2
16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16