2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pyenv + Python3.7 + openCV の環境を構築する【macOS High Sierra】

Last updated at Posted at 2018-11-08

割と多い種類の記事だとは思うんですが、適当にやっても上手くいかなかったので後世のために書き残し。
"ImportError:No module named cv2"で困ってる人も必見。
他の記事のまんまやったらエラーになるんだけど!!!って言うgoogle先生と絶交してしまった人もちょっと見てって欲しいです。

#環境

  • macOS High Sierra 10.13.6
  • homebrew 導入済み

#はじめにすること
macにはデフォルトでPython2がついてきています。
僕は昔、このPythonを使って大学の課題をやっていたんです。
そこにnumpyなどのモジュールを追加していました。それが原因でエラーを引き起こしてしまったみたいなのでとりあえず削除します。
ここは環境によりけりなので、___「俺は初めてPython使うんだぜ!」って人___と、「エラーでたら消すわ」って人は無視して次の "pyenvのインストール" に進んでください。

削除しますと言いましたが、macOSのセキュリティ機能のせいで削除できないので、設定を変更します。
MacでOperation not permittedが出た時の対処法
こちらを参考にして、ファイルを移動できるようにしてください。
sudoでできるやろ〜〜って思ったら出来なかったよ…ママ…

できたらnumpyを探しに行きましょう。バージョンが複数ある場合は全部探します。

$ cd /System/Library/Frameworks/Python.framework/Versions/<version>/Extras/lib/python/
$ ls | grep numpy

結果が表示されたらそれらを削除します。

$ rm -r <ファイル名>

削除できたら、以下のディレクトリでも同様に探して削除します。

$ cd /Library/Python/<version>/site-packages/
$ ls | grep numpy
$ rm -r <ファイル名>

#pyenvのインストール
ではお待ちかね、pyenvをインストールします。

$ brew install pyenv

~/.bash_profile にパスを通します。

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

#Pythonをインストール

$ pyenv install python3.7.1
$ pyenv global 3.7.1
$ python --version
 Python 3.7.1

バージョンはお好みで選んでください。僕は3.7.1にしました。
pyenvを使う事で複数のバージョンのPythonを使い分ける事ができます。めっちゃ便利。今日まで知らんかった。

$ pyenv global <version> #全体に適用
$ pyenv local <version> #今いるディレクトリのみ適用

#openCVをインストール

$ brew install opencv --with-python3

他の記事では、このコマンドの前に$ brew tap homebrew/scienceをやってね。とか書いてありましたが、そもそもhomebrew/scienceが廃止されてしまったので動きません。
代わりに$ brew tap brewsci/scienceをする必要があるみたい。
今はopenCVがhomebrewの公式に置いてあるらしいのでやらなくて良いみたいです。
もし失敗したらやってみてください。

#pyenvへのリンク
では、pyenvからopenCVを使うためにリンクを貼ります。

$ ln -s /usr/local/Cellar/opencv/3.4.3/lib/python3.7/site-packages/cv2.cpython-37m-darwin.so .pyenv/versions/3.7.1/lib/python3.7/site-packages/

openCVがインストールされた場所は🍺 /usr/local/Cellar/opencv/3.4.3のように表示されているはずです。
もし違ったらそれに応じて変えてください。

#numpyのインストール

$ pip3 install numpy

もし、「pipのバージョンが古いよー」なんて言われた時はpip3 install --upgrade pipで更新してください。

#動作確認

$ python
Python 3.7.1 (default, Nov  7 2018, 11:41:00) 
[Clang 10.0.0 (clang-1000.11.45.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
 '3.4.3'

これでopenCVを使うことができるようになりました!!

#参考サイト
macOS Sierra に pyenv + python3.5 + OpenCV3 をインストール - Qiita
TensowFlowをセットアップしてハマったのでメモ - Qiita
【Mac】brewだけでOpenCV3+Python3(venv)の環境を構築する | from umentu import stupid
OpenCV3+Python3をMacOS HighSierraで 始めよう #初学者 #python3 #OpenCV

#おまけ
QiitaDeckすごいのでみんな使って。
Qiita版TweetDeck!?カラム形式でQiita記事をウォッチできるサービス「QiitaDeck」をリリースしました! - Qiita
現在進行形で進化中だよ!!どんどん使いやすくなっていくみたい。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?