気象データ解析のためのPython環境構築(For Linux)
Miniforge (旧名: Mambaforge)を使って、condaで管理するPython環境を構築する場合の一例をまとめました。
このページではglibc 2.17が入ってない古いOSにインストールする方法を書いてます。
*最近のOS(Ubuntu 20.04など)でも同様の手順でインストールできます(2024年9月現在)。ただし最新版のMiniforgeをインストールしてください。
- Miniforgeをインストールする
- 解析用の仮想環境を構築する
- 構築した仮想環境への移動
- 研究に必要なツールのインストトール
- netCDF4 (ERA5などで使われているデータ形式であるnetCDFを扱うためのライブラリ) 公式ドキュメント
- cfgrib (JRA-55などのデータ形式であるGRIBを扱うためのライブラリ) 公式ドキュメント(GitHub)
- jupyterlab (Pythonの開発・実行環境) 公式ドキュメント
- metpy (気象データの解析に特化したライブラリ) 公式ドキュメント
- ライブラリがインストールできたかどうか確認する
- その他(以下の設定は任意)
- Py-ART: 気象レーダデータ解析・可視化ライブラリ公式ドキュメント
- PyBufrKit: PythonでBUFRフォーマットのデータ(気象庁ウィンドプロファイラ等)をデコードする 公式ドキュメント
- Satpy: 衛星データの処理・可視化ライブラリ 公式ドキュメント
ここからMiniforgeのインストーラ(Mambaforge-24.3.0-0-Linux-x86_64.sh)をダウンロードする(Linuxの場合はシェルスクリプト)。
*最新版の場合はこちらから
ダウンロード後,ターミナル上でインストーラを実行する。
./Mambaforge-24.3.0-0-Linux-x86_64.sh #In order to continue the installation process, please review the license #agreement. #Please, press ENTER to continue #長いライセンスの話(キーボードのQを押すと飛ばせる) Do you accept the license terms? [yes|no] [no] >>> yes
"Do you accept ~?"が出たらyes"と入力してライセンスに同意する(さもないと永遠にインストールできない)。
#Mambaforge will now be installed into this location: #/home/nishii/mambaforge # - Press ENTER to confirm the location # - Press CTRL-C to abort the installation # - Or specify a different location below [/home/nishii/mambaforge] >>>
Miniforgeのインストール先を確認される。デフォルト(/home/user(ユーザー名)/mambaforge)で良ければ何も打たずにエンターを押す。
その他の場所にインストールしたい場合はそのパスを指定する。
#PREFIX=/misc/Zone1/nishii/mambaforge #Unpacking payload ... #Extracting _libgcc_mutex-0.1-conda_forge.tar.bz2 #Extracting ca-certificates-2024.2.2-hbcca054_0.conda #この間,色んなものがインストールされるのでたくさん出力がある。 #installation finished. #Do you wish to update your shell profile to automatically initialize conda? #This will activate conda on startup and change the command prompt when activated. #If you'd prefer that conda's base environment not be activated on startup, # run the following command when conda is activated: #by running conda init? [yes|no] [no] >>> yes
一番最後にcondaの自動起動を設定するかどうか聞かれる。よく分からないなら"yes"と答えるのが無難(デフォルトではnoになっている)。"yes"にすると~/.bashrcにconda起動に関する設定が保存され,次回ターミナル起動時に自動的にbase環境が起動するようになる。
インストール後にターミナルを再起動し,先頭に(base)と表示されていればインストール成功している。表示されていない場合,
source /path/to/miniforge/bin/activate #/path/to/miniforgeはMiniforgeのインストール先に置き換える conda init
とすればyesとした場合と同様の状態になる。ならなければインストール失敗しているので最初からやり直すのがベター。
インストールに成功したらcondaが利用するレポジトリをconda-forgeのみにする。
この段階でconda configでチャンネル情報を取得すると2つのチャンネルが入っている。
conda config --get channels # --add channels 'defaults' # lowest priority # --add channels 'conda-forge' # highest priority
この内defaultsを削除する。
conda config --remove channels defaults
再度チャンネル情報を取得しconda-forgeのみになっていればOK
conda config --get channels --add channels 'conda-forge' # lowest priority
仮想環境を構築し,必要なライブラリのみをインストールすることでバージョン管理などが容易になる。仮想環境の構築は以下のように実施する。
conda create -n lab python=3.9
途中"Proceed ([y]/n)?"ときかれる。yを入力してからエンターを押すと仮想環境構築が始まる。
この場合"lab"という名前の環境が作られ,環境構築時にpython3.9がインストールされる(labは任意の名前に変えても良い)。 -nは環境名を指定するオプション,-cはライブラリのインストール元を指定すオプションである(今回はconda-forgeを使う)。
以降,"lab"という仮想環境を作ったものとする。conda activateを実行することで仮想環境に切り替わる。
(base) conda activate lab (lab) #Activateした仮想環境に切り替わる
気象データの解析に必要なライブラリをlab環境にインストールする。numpyやmatplotlibなど主要なものは以下のものをインストールする際に依存関係(あるライブラリが動作するために必要なライブラリ)で一緒にインストールされる。
仮想環境がlabであることを確認した後(ターミナルの先頭が(lab)であれば良い),以下のコマンドを順番に実行する。はconda-forgeからインストールすることを示し,-yはインストールの確認をスキップするオプションである。
conda install -y netCDF4
conda install -y cfgrib
conda install -y jupyterlab
conda install -y metpy
ここではpython3のインタラクティブモードでライブラリをインポートすることにより確認する。 *#はコメント(入力しなくて良い)
(lab) python3 #Python 3.9.10 | packaged by conda-forge | (main, Feb 1 2022, 21:24:11) #[GCC 9.4.0] on linux #Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> import matplotlib >>> import pandas >>> import xarray >>> import cfgrib >>> import metpy >>> import netCDF4 >>> exit() #インタラクティブモードを終了する。
エラーメッセージ等が表示されなければインストールが成功している。
"ModuleNotFoundError: No module named ライブラリ名" とエラーが出てきた場合,そのライブラリを再度conda installによりインストールしてからもう一度確認してみる。
・ターミナル起動時にbase環境ではなく解析環境を起動させる
デフォルトではターミナルを開いた際に(base)環境が起動するようになっている。最初から解析環境を起動させたい場合は~/.bashrcの最後に以下の行を追加する。
conda activate lab #labは任意の仮想環境名
これによりターミナル起動時に"conda acitvate lab"が実行されるようになる。ターミナルを再起動すると最初からlab環境になっているはず。
・ターミナル起動時にcondaを起動しないようにする
デフォルトではターミナルを開いた際に自動でcondaが起動する。自動で起動させないようにするためには以下のコマンドを実行する。
conda config --set auto_activate_base false
これで次回ターミナル起動時から自動でcondaが起動しなくなる。起動する場合
conda activate (base) #conda起動
とすることでcondaが起動する。逆に自動起動を有効にしたい場合は
conda config --set auto_activate_base True
とすると,次回以降自動でcondaが起動するようになる。
・その他気象データ解析に使いそうなライブラリのインストール
以下は必要に応じてインストールしてください
*日本のレーダデータを処理するにはCF-Radial形式等に変換をする必要がある。
conda install -y arm_pyart
conda-forgeにないのでpipからインストールする
pip install pybufrkit
conda install -y satpy