• Python3のぺージに戻る
  • 気象データ解析のためのPython環境構築(For Linux)

    (2024/9/14追記)2024年3月にAnacondaのライセンスが改訂され、大学であっても一部例外を除き有償ライセンスを必要する旨が追加されました。無償で利用する場合はMiniforgeなど別のフリーの手段を用いましょう。

    というわけでLinux版のみですがMiniforgeで同様のPython環境を構築するためのページを作りました。移動する

    *ライセンスについて詳しくはこちら(anacondaのライセンスページ)やこちら(Qiitaにあった日本語記事)を参照。

    *Windowsの方はこちらへ

    *Macの方はこちらへ

    このページでは2022年度のVL講習会向けに,Anacondaを使ってPython環境構築する場合の一例をまとめています。
    ここではUbuntu 20.04LTSの場合を紹介します。Ubuntu 16.04LTS以上,CentOS 7以上ならこのページの方法でインストールできるはずです。

    *全部インストールすると10 GB近くになります。インストール前にHDD(SSD)の容量確認することをおすすめします。

    1. Anacondaをインストールする
    2. ここからMiniforgeのインストーラをダウンロードする。

      インストール

      UbuntuやCentOSであれば"64-Bit (x86) Installer"を選択

      ダウンロード後,ターミナル上でインストーラを実行する。

      sh Anaconda3-2021.11-Linux-x86-64.sh
      
      #長いライセンスの話(エンター押しっぱなしで飛ばせる)
      
      Last updated April 5, 2021
      
      Do you accept the license terms? [yes|no]
      [no] >>>
      

      "Do you accept ~?"が出たらyes"と入力してライセンスに同意する(さもないと永遠にインストールできない)

      Anaconda3 will now be installed into this location:
      /home/user/anaconda3
      
         - Press ENTER to confirm the location
         - Press CTRL-C to abort the installation
         - Or specify a different location below
      
      [/home/user/anaconda3] >>>
      

      anaconda3のインストール先を確認される。デフォルト(/home/user(ユーザー名)/anaconda3)で良ければ何も打たずにエンターを押す。
      その他の場所にインストールしたい場合はそのパスを指定する(多くの場合デフォルトで問題ないはず)。

      PREFIX=/home/user/anaconda3
      Unpacking payload ...
      Collecting package metadata (current_repodata.json): done
      Solving environment: done
      
      ## Package Plan ##
      
         environment location: /home/user/anaconda3
      
      #この間,色んなものがインストールされるのでたくさん出力がある。
      
      Preparing transaction: done
      Executing transaction: done
      installation finished.
      Do you wish the installer to initialize Anaconda3
      by running conda init? [yes|no]
      [no] >>>
      

      一番最後にAnaconda3の初期化について聞かれる。よく分からないなら"yes"と答えるのが無難(デフォルトではnoになっている)。"yes"にすると~/.bashrcにanaconda起動に関する設定が保存され,次回ターミナル起動時に自動的にbase環境も起動するようになる。

      インストール後にターミナルを再起動し,先頭に(base)と表示されていればインストール成功している。表示されていない場合,

      source /home/user/anaconda3/bin/activate # (path to conda)/bin/activate
      conda init
      

      とすればyesとした場合と同様の状態になる。ならなければインストール失敗しているので最初からやり直すのがベター。

    3. 解析用の仮想環境を構築する
    4. 仮想環境を構築し,必要なライブラリのみをインストールすることでバージョン管理などが容易になる。仮想環境の構築は以下のように実施する。

      conda create -n vl_lab -c conda-forge python=3.9

      途中"Proceed ([y]/n)?"ときかれる。yを入力してからエンターを押すと仮想環境構築が始まる。

      この場合"vl_lab"という名前の環境が作られ,環境構築時にpython3.9がインストールされる(vl-labは任意の名前に変えても良い)。 -nは環境名を指定するオプション,-cはライブラリのインストール元を指定すオプションである(今回はconda-forgeを使う)。

    5. 構築した仮想環境への移動
    6. 以降,"vl_lab"という仮想環境を作ったものとする。conda activateを実行することで仮想環境に切り替わる。

      (base) conda activate vl_lab
      (vl_lab) #Activateした仮想環境に切り替わる
      

    7. 研究に必要なツールのインストトール
    8. 気象データの解析に必要なライブラリをvl_lab環境にインストールする。numpyやmatplotlibなど主要なものは以下のものをインストールする際に依存関係(あるライブラリが動作するために必要なライブラリ)で一緒にインストールされる。

      仮想環境がvl_labであることを確認した後(ターミナルの先頭が(vl_lab)であれば良い),以下のコマンドを順番に実行する。-c conda-forgeはconda-forgeからインストールすることを示し,-yはインストールの確認をスキップするオプションである。

      • netCDF4 (ERA5などで使われているデータ形式であるnetCDFを扱うためのライブラリ) 公式ドキュメント
      • conda install -y -c conda-forge netCDF4
      • cfgrib (JRA-55などのデータ形式であるGRIBを扱うためのライブラリ) 公式ドキュメント(GitHub)
      • conda install -y -c conda-forge cfgrib
      • jupyterlab (Pythonの開発・実行環境) 公式ドキュメント
      • conda install -y -c conda-forge jupyterlab
      • metpy (気象データの解析に特化したライブラリ) 公式ドキュメント
      • conda install -y -c conda-forge metpy

    9. ライブラリがインストールできたかどうか確認する
    10. ここではpython3のインタラクティブモードでライブラリをインポートすることにより確認する。 *#はコメント(入力しなくて良い)

      (vl_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によりインストールしてからもう一度確認してみる。

    11. conda-forgeからのインストールを最優先させる
    12. 先ほどはcオプション(-c conda-forge)により全てのライブラリをconda-forgeからインストールするよう指定していた。cオプションで指定しなかった場合,初期設定ではDefaultsチャンネルからインストールするようになっている。Defaultsチャネルとconda-forgeチャネルのライブラリは互換性はあるが100%ではないため,混ぜると不具合が生じることがある。

      したがって,ここではデフォルトで全てのライブラリをconda-forgeからインストールするための設定をおこなう。

      conda config --add channels conda-forge    #conda-forgeをインストール時に最優先で参照するチャネルとして追加
      conda config --set channel_priority strict #conda-forgeから全てのライブラリや依存関係をインストールする
      conda config --get channels                #現在のチャンネル設定の表示
      #--add channels 'defaults'   # lowest priority
      #--add channels 'conda-forge'   # highest priority
      

      以上により,conda-forgeが最優先で参照するチャネルとなった。これ以降,-c conda-forgeを入力しなくてもconda-forgeからインストールされるようになる。

    13. その他(以下の設定は任意)
    14. ・ターミナル起動時にbase環境ではなく解析環境を起動させる

      デフォルトではターミナルを開いた際に(base)環境が起動するようになっている。最初から解析環境を起動させたい場合は~/.bashrcの最後に以下の行を追加する。

      conda activate vl_lab #vl_labは任意の仮想環境名
      

      これによりターミナル起動時に"conda acitvate vl_lab"が実行されるようになる。ターミナルを再起動すると最初からvl_lab環境になっているはず。

      ・ターミナル起動時にanacondaを起動しないようにする

      デフォルトではターミナルを開いた際に自動でanacondaが起動する。自動で起動させないようにするためには以下のコマンドを実行する。

      conda config --set auto_activate_base false

      これで次回ターミナル起動時から自動でanacondaが起動しなくなる。起動する場合

      conda activate
      (base) #anaconda起動
      

      とすることでanacondaが起動する。逆に自動起動を有効にしたい場合は

      conda config --set auto_activate_base True

      とすると,次回以降自動でanacondaが起動するようになる。

      ・その他気象データ解析に使いそうなライブラリのインストール

      以下は必要に応じてインストールしてください

      • Py-ART: 気象レーダデータ解析・可視化ライブラリ公式ドキュメント
      • *日本のレーダデータを処理するにはCF-Radial形式等に変換をする必要がある。

        conda install -y -c conda-fogre arm_pyart
      • PyBufrKit: PythonでBUFRフォーマットのデータ(気象庁ウィンドプロファイラ等)をデコードする 公式ドキュメント
      • anacondaにないのでpipからインストールする

        pip install pybufrkit
      • Satpy: 衛星データの処理・可視化ライブラリ 公式ドキュメント
      • conda install -y -c conda-forge satpy