Differences between revisions 3 and 4
Revision 3 as of 2023-07-13 18:51:40
Size: 5203
Comment:
Revision 4 as of 2023-07-13 18:55:57
Size: 5204
Comment:
Deletions are marked like this. Additions are marked like this.
Line 143: Line 143:
   * pyprj : 地球上の距離計算    * pyproj : 地球上の距離計算

Pythonにおけるモジュール、パッケージ、ライブラリとは https://ai-inter1.com/python-module_package_library/

Condaによるpython環境構築

IGWN (the International Gravitational-Wave Observatory Network) Computing and Software で用意された環境(igwn-py39)を元にするのがよい。
使い方はJGW-G2113584を参照

igwn-py39 を元にした環境構築

https://computing.docs.ligo.org/conda/environments/igwn-py39/からlinux-64と書かれたものをダウンロードしてくる。

wget https://computing.docs.ligo.org/conda/environments/linux/igwn-py39.yaml

ダウンロードしたレシピファイルを元に仮想環境を作る。→少し時間がかかる。
myenv の所は自分の好きな名前にしてよい

conda env create -n myenv --file igwn-py39.yaml

この時、出てくる質問に y と答えると自分用のconda環境ができるらしい。出てこないで進む人もいる。

done
#
# To activate this environment, use
#
#     $ conda activate myenv
#
# To deactivate an active environment, use
#
#     $ conda deactivate

と表示されたらmyenv環境のできあがり。

conda info -e 

と打つと環境一覧が表示され、自分のホームの下に "".conda/envs/myenv"" というものが見えるはず。

仮想環境に入るには

conda activate myenv

と打てばよい。

condaの使い方は以下などを参照 (ググれば腐るほど出てきます)

いちいち仮想環境に入るためにコマンドを打つのは面倒なので、以下を~/.bashrcもしくは~/bash_profileに書いておけば、ターミナル起動時に自動的myenvに入るように設定できる

# User specific aliases and functions
source /gpfs/ligo/sw/conda/etc/profile.d/conda.sh
conda activate myenv

イチから環境構築

igwn-py39を元に作った環境にgeopandas(地図をplotしたり位置情報を含んだ表計算をするモジュール)を入れようとすると、パッケージの依存性のせいかうまくいかない。

自前で新しい環境を構築し、必要なパッケージを手で入れていけばこの問題は起こらない。とりあえず以下の手順でやれば最低限のパッケージは入る。(astropyとかはgwpyを入れると勝手に入る)

conda create -n myenv python=3.9
conda activate myenv
conda install geopandas gwpy lalsuite pycbc pyprj obspy jupyter

よく使う(インストールしておくべき)ライブラリリスト

  • ファイル操作など
    • glob
    • os
    • natsort
  • 数値計算関係
    • numpy : 基本はコレ
    • scipy
    • datetime ; 時刻を扱う
    • iminuit : Fitするときに使う (参考)

    • probfit : Fitするときに使う
    • lmfit : Fitするときに使う
    • bottleneck
    • pandas : 表計算をしたり、csvファイルを読み書きしたり
    • numexpr : PandasのQueryの処理を高速化する
    • pandas-profiling : pandasのデータフレームの概要を表示する
  • 描画関係
    • matplotlib : 基本はコレ
    • plotly : ブラウザ上で拡大縮小などがインタラクティブにできる
    • PyQt5 : matplotlibよりも高速で、リアルタイム描画に向いているらしい

  • 機械学習
    • tensorflow
    • scikit-learn
  • 重力波関係
    • GWpy : 基本はコレ
    • lalsuite : フレームファイルの読み書きに必要。直接使わなくてもインストール必須
    • pycbc : CBC解析 (Matched filtering とか)
    • GWDetChar : DetChar解析

    • GWSumm : サマリーページ
    • GWDataFind : 重力波データを引っ張ってくる
    • pyomicron : オミクロントリガーを使う
    • dttxml : diagguiのxmlファイルを読み込む
    • nds2utils
    • python-nds2-client
  • 天文関係
    • astropy
  • 地球物理系
    • geopandas : 位置情報入りの表計算や地図のplotなど (注意:igwn-py39を元に構築した環境には、依存性か何かのせいでインストールできない!)
    • pyproj : 地球上の距離計算
    • obspy : 地震波解析

    • mtpy : 地磁気地電流法(MT法)解析

  • オーディオ関係
    • pysoundfile
    • playsound
    • python-sounddevice
    • wavio

KAGRA/Subgroups/PEM/PythonMemoJP/Library (last edited 2023-11-17 15:05:39 by tatsuki.washimi)