MacOS Sierra(10.12) に Pyenv で Python3 + openCV3 をインストールする

  • 23
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

OpenCVで色々やろうというプロジェクトに巻き込まれたので、MacにPythonでopenCVできる環境を整えることになりました。
ちなみに筆者は今までPythonの使用経験はほとんどありません。
なので、以下の導入方法もこれがベストなのかよくわからず、環境によってはうまくいかないようなものかもしれませんので、悪しからず。


目次

  • 前提
  • pyenv のインストール
  • python3 のインストール
  • openCV 3 のインストール
  • numpy の インストール
  • 動作確認

前提

  • OS : OSX Sierra (10.12)
  • Homebrew は導入済みとします
$ brew update // brewを最新に

brew update に失敗した場合、OSアップデートの際に /usr/local 以下のパーミッションの再設定が必要だったということなようなので以下を参考にしてください。
https://blog.ymyzk.com/2016/06/macos-sierra-homebrew/


pyenv のインストール

※参考 github
https://github.com/yyuu/pyenv

$ brew install pyenv

~/.bash_profilepyenv initを叩くところを追加

$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

python3 のインストール

$ pyenv install --list // これでインストール可能なversionが見られます。お好きなものを。
$ pyenv install 3.5.2

僕の環境ではこの時、zlibがないとお怒られました。

$ pyenv install 3.5.2
(中略)
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

どうも最近Xcodeのバージョンを8にしたので、そのせいっぽいです。
※参考
http://qiita.com/maosanhioro/items/bf93540515d4ea75b222

$ xcode-select --install
xcode-select: note: install requested for command line developer tools
// GUIのインストーラが立ち上がります

これでいけました。

$ pyenv install 3.5.2
Downloading Python-3.5.2.tar.xz...
-> https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
Installing Python-3.5.2...
Installed Python-3.5.2 to /Users/masaori/.pyenv/versions/3.5.2

めでたし。


openCV 3 のインストール

$ brew install homebrew/science/opencv3 --with-python3
// なぜか brew install opencv3 だと怒られました・・・

ところがこれは失敗

/tmp/opencv3-20161008-83364-6nps9q/opencv-3.1.0/modules/videoio/src/cap_qtkit.mm:46:9: fatal error: 'QTKit/QTKit.h' file not found
#import <QTKit/QTKit.h>
        ^
1 error generated.

どうも Sierra (10.12) と openCV 3.1 の組み合わせで起こる問題らしいです。
https://github.com/Homebrew/homebrew-science/issues/4104
https://github.com/opencv/opencv/pull/7159

この辺で解決していて、タイムリーにプルリク取り込まれているようなので、オプションで--HEADを設定

$ brew install homebrew/science/opencv3 --with-python3 --HEAD
(中略)
==> Summary
🍺  /usr/local/Cellar/opencv3/HEAD-dd379ec_4: 286 files, 48.4M, built in 3 minutes 34 seconds

無事インストール成功しました!
※ --HEAD指定ということで、stableではないので他の問題が起こるかもしれません。。

シンボリックリンクを張る

brew installの最後に出てくる、openCVのインストール先のpathに対して張ります。
今回は /usr/local/Cellar/opencv3/HEAD-dd379ec_4 ここ。

$ ln -s /usr/local/Cellar/opencv3/HEAD-dd379ec_4/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so ~/.pyenv/versions/3.5.2/lib/python3.5/site-packages/

numpy の インストール

$ pip3 install numpy

これはつつがなく完了。


動作確認

python上でimportしてみましょう。

$ python -V // pyenvが正しいversionを参照しているか確認
3.5.2

$ python
Python 3.5.2 (default, Oct  8 2016, 17:32:08) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.1.0'

よくできました!