MacをOS Mojave(v10.14.4)にクリーンインストールしました。
実はPython環境についていろいろ悩んでいたので、下記のサイトを参考にHomebrewからPyenvをインストール。そして、Python 3.6.6を入れようとしたところトラブルがおこりました。
【2019年版】Pythonインストール・Mac編【長く安全に使える方法】|投資エンジニア
今回、このエラーを他の方の記事を参考に解決できたのと、ついでにopenCVとjupyter notebook、matplotlibまでいれたのでその記録です。
目次
PyenvからPython 3.6.6を入れようとしてエラーが発生
発生したエラーは
これですが、ログを見てみると
make: *** [install] Error 1
このzlib not availableが問題のようです。
pyenv install 3.6.6 でエラーが発生する。 – digitalnauts – Medium
まずは上記サイトに表記されていた
CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \ LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \ PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \ pyenv install -v 3.6.6
こちらを試してみましたが、解決せず。
pyenv installで「zlib not available」エラーが発生したときの対策 – Reasonable Code
上記サイトで書かれていた
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
こちらにて解決できました。
venv(仮想環境の作成)
【2019年版】Pythonインストール・Mac編【長く安全に使える方法】|投資エンジニア
再び、投資エンジニアさんの記事のとおり、venvを使って仮想環境を構築します。
/Users/naka2/python_env
このように、python_envというディレクトリを作成して、このディレクトリに移動。
$ python -m venv py3env
これで仮想環境構築完了です。
仮想環境の有効化
$ source py3env/bin/activate
これで環境を有効化
$ deactivate
これで無効化
openCVをインストール
まずは、
/Users/naka2/python_env
こちらに移動。
次に、
~/python_env $ pip list -o Package Version Latest Type ---------- ------- ------ ----- pip 10.0.1 19.1 wheel setuptools 39.0.1 41.0.1 wheel You are using pip version 10.0.1, however version 19.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
パッケージを確認して、
~/python_env $ pip install --upgrade pip
pipをupgradeします。
~/python_env $ pip install -U setuptools
Setuptoolsもインストール(upgrade)しました。
~/python_env $ pip list Package Version ---------- ------- pip 19.1 setuptools 41.0.1
最新になったので、次はopenCVをいれます。
~/python_env $ pip install opencv-python
これで、openCVが入った様子。
~/python_env $ pip list Package Version ------------- -------- numpy 1.16.3 opencv-python 4.1.0.25 pip 19.1 setuptools 41.0.1
はいりました。
あれ、そういえば
~/python_env $ source py3env/bin/activate
これをしてなかった。
(py3env) ~/python_env $ pip list Package Version ---------- ------- pip 10.0.1 setuptools 39.0.1 You are using pip version 10.0.1, however version 19.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
あ、これをしないと何もupgradeされてません。
(py3env) ~/python_env $ pip install --upgrade pip
こうしてから
(py3env) ~/python_env $ pip list Package Version ---------- ------- pip 19.1 setuptools 39.0.1
pipはupgradeされました。
(py3env) ~/python_env $ pip install opencv-python
openCVを再度インストール
(py3env) ~/python_env $ pip list Package Version ------------- -------- numpy 1.16.3 opencv-python 4.1.0.25 pip 19.1 setuptools 39.0.1
無事にopenCVとnumpyがはいりました。
jupyter notebookもインストール
jupyter notebookはどうかというと
(py3env) ~/python_env $ jupyter notebook -bash: jupyter: command not found
はいってませんね。
(py3env) ~/python_env $ pip install jupyter
これでインストール
Pip listで確認
(py3env) ~/python_env $ pip list Package Version ------------------ -------- appnope 0.1.0 attrs 19.1.0 backcall 0.1.0 bleach 3.1.0 decorator 4.4.0 defusedxml 0.6.0 entrypoints 0.3 ipykernel 5.1.0 ipython 7.5.0 ipython-genutils 0.2.0 ipywidgets 7.4.2 jedi 0.13.3 Jinja2 2.10.1 jsonschema 3.0.1 jupyter 1.0.0 jupyter-client 5.2.4 jupyter-console 6.0.0 jupyter-core 4.4.0 MarkupSafe 1.1.1 mistune 0.8.4 nbconvert 5.5.0 nbformat 4.4.0 notebook 5.7.8 numpy 1.16.3 opencv-python 4.1.0.25 pandocfilters 1.4.2 parso 0.4.0 pexpect 4.7.0 pickleshare 0.7.5 pip 19.1 prometheus-client 0.6.0 prompt-toolkit 2.0.9 ptyprocess 0.6.0 Pygments 2.3.1 pyrsistent 0.15.1 python-dateutil 2.8.0 pyzmq 18.0.1 qtconsole 4.4.4 Send2Trash 1.5.0 setuptools 39.0.1 six 1.12.0 terminado 0.8.2 testpath 0.4.2 tornado 6.0.2 traitlets 4.3.2 wcwidth 0.1.7 webencodings 0.5.1 widgetsnbextension 3.4.2
Jupyter notebookをいれると、他にも多くのライブラリがインストールされるようです。
先程py3env環境でupgradeし忘れたsetuptoolsもやときましょう。
(py3env) ~/python_env $ pip install -U setuptools
これでupgradeされました。
(py3env) ~/python_env $ jupyter notebook
Jupyter notebookを起動します。
無事にjupyter notebookが起動しました。
New > python3でひらきました。
無事にopenCVも使えそうです。
matplotlibもインストール
よく使うmatplotlibもいれておきましょう。
(py3env) ~/python_env $ pip install matplotlib
これで大丈夫かな?
とりあえず、エラーを吐かずにはいったようなので、jupyter notebookを起動して確認。
お!いけましたね!
まとめ
現在、Udemyの下記の講座でopenCVを勉強中です。
最初はMacでやろうとしたのですがうまくいかず、マシンをWindows10に変えたところ、環境構築でのトラブルはなく、ようやくPythonと画像処理にもなれてきました。
なので、”Tetsuya T”さんの上記講座は、openCVやPythonを使って画像をなにかやりたい!とおもっている方には、すっごくおすすめの講座です。
引き続き、openCVはWin10マシンで学習していきますが、だいぶ、Pythonの環境の作り方もわかりはじめてきたので、MacでもPythonが動かせるようにしていきたいと思います。
そして、ゆくゆくはJetson nano(Ubuntu)でopenCVをやる予定です。