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
- 数値計算関係
- 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
- 地球物理系
- オーディオ関係
- pysoundfile
- playsound
- python-sounddevice
- wavio