はじめに
これまでなんとなく利用してきた Mac での python 環境を見直し、pyenv + miniforge で環境構築し、気象ライブラリであるMetpyとJupiter Labを利用可能にしたため、その過程を記録する。
python環境見直しの一つのきっかけは、これまで利用していたpythonのpipを使ってMetPyがインストールできなかったことであった。
目標
- pyenv + miniforge で python 環境を構築する
- MetPyを Jupyter Lab で利用できるようにする
環境
- PC: Makbook Pro (13-inch, M1, 2020)
- OS: MacOS Big Sur (Version 11.5.2)
方針
- pyenv でpythonの実行環境を管理する
- miniconda のフォークである miniforge (3-4.10.1-5)を用いる
- miniforgeとはさまざまなCPUアーキテクチャ(intelのx86_64やppc64le、Apple M1を含むaarch64)のサポートに重点を置いたMiniconda。
- M1チップでは、pyenvを用いてpython(3.10.0や3.9.7)やanaconda3-2021.05がインストールできなかった。このため、M1チップで利用可能なminiforgeを用いることにした。
- パッケージ管理は conda で行う
- miniforgeはconda 系のパッケージ管理ツールであるため
参考HP
上記HPでは以下の3つの方法が記述されており、今回は2を選択した。
- Homebrewで直接pythonをインストールする
- Anaconda環境(miniforge)を使う
- Dockerを使う
M1 Macの罠が詳しく書かれている
インストール
pyenv のインストール
git を利用して、ホームディレクトリ以下にpyenvをインストールした。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bashrcの設定と読み込み
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
$ source .bashrc
pyenv の利用法
python や miniconda などのインストール可能なパッケージの表示
$ pyenv install --list
pyenv-virtualenvのインストール
現状まだ利用していないが、インストールしておく。
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
miniforgeのインストール
インストール
$ pyenv install miniforge3-4.10.1-5
利用するパッケージ(miniforge)を指定する。
$ pyenv global miniforge3-4.10.1-5
global は自分がいるディレクトリに関わらず適用される設定。
(特定のディレクトリ以下に適用させるには global ではなく local とする。)
今現在インストールされているPythonやminiforgeのバージョンを確認
$ pyenv versions
system
* miniforge3-4.10.1-5 (set by /Users/katon/.pyenv/version)
~/.pyenv 以下にインストールされた miniforgeが利用されていることを確認できる。
ここで、system というのはpyenvではなく、OS側で用意されているpythonになる。
condaコマンドを利用可能にする
$ conda activate
コマンドラインが以下の表示になる
(base) (miniforge3-4.10.1-5) katon@kyudai ~ %
conda コマンドは以下を参照。
metpyのインストール
$ conda install -c conda-forge metpy
jupyterのインストール
Jupyter Notebookの後継であるJupyterLabを利用するためには、jupyterをインストールすればよい。
インストール
$ conda install jupyter
以下のコマンドで jupiter lab が起動できた。
$ jupyter lab
MetPyの以下のサンプルコードがjupiter lab上で動くことが確認できた。
scikit image のインストール
conda install scikit-image