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 /disk/sw/conda/etc/profile.d/conda.sh conda activate myenv
source以下は、実際のconda.shの絶対パス (人/PCによって異なるので、自力で探してください)
イチから環境構築
igwn-py39を元に作った環境にgeopandas(地図をplotしたり位置情報を含んだ表計算をするモジュール)を入れようとすると、パッケージの依存性のせいかうまくいかない。
自前で新しい環境を構築し、必要なパッケージを手で入れていけばこの問題は起こらない。とりあえず以下の手順でやれば最低限のパッケージは入る。(astropyとかはgwpyを入れると勝手に入る)
conda create -n myenv python=3.9 conda activate myenv conda install gds-root-extensions-base gds-root-extensions-crtools root_base uproot uproot-base uproot3 uproot3-methods conda install geopandas gwpy lalsuite pycbc pyproj obspy geopy jupyter
パッケージ一覧を表示
conda list --export
または
conda list --explicit
(表記が異なる。お好きな方を)
自分の環境を保存してバックアップ/別のPCで再現する
対象の環境名をmyenvとすると、
conda activarte myenv conda env export > myenv.yml
もしくは、対象のconda環境に入らずに書き出す場合は、
conda env export -n myenv > myenv.yml
よく使う(インストールしておくべき)ライブラリリスト
- ファイル・文字列操作など
- glob
- os
- natsort
- chardet
- 数値計算関係
- numpy : 基本はコレ
- scipy
- datetime ; 時刻を扱う
iminuit : Fitするときに使う (参考)
- probfit : Fitするときに使う
- lmfit : Fitするときに使う
- bottleneck : numpy.arrayの移動平均などを簡単に計算できる
- pandas : 表計算をしたり、csvファイルを読み書きしたり
- numexpr : PandasのQueryの処理を高速化する
- pandas-profiling : pandasのデータフレームの概要を表示する
xlrd, XlsxWriter : エクセルファイルの読み書き
- 描画関係
- matplotlib : 基本はコレ
- japanize-matplotlib : matplotlibで日本語を使う
- mpl_toolkits : matplotlibで3Dの描画や地図の描画などをするのに使う
- plotly : ブラウザ上で拡大縮小などがインタラクティブにできる
PyQt5 : matplotlibよりも高速で、リアルタイム描画に向いているらしい
- 機械学習
- tensorflow
- scikit-learn : 機械学習だけでなくICA, PCAも
pytorch : DeepCleanではpytorchを使っている
- 重力波関係
- GWpy : 基本はコレ
- lalsuite : フレームファイルの読み書きに必要。直接使わなくてもインストール必須
- pycbc : CBC解析 (Matched filtering とか)
GWDetChar : DetChar解析
- GWSumm : サマリーページ
- GWDataFind : 重力波データを引っ張ってくる
- pyomicron : オミクロントリガーを使う
- dttxml : diagguiのxmlファイルを読み込む
- nds2utils
- python-nds2-client
- 天文関係
- astropy
- 地球物理系
- ROOT
- gds-root-extensions-base
- gds-root-extensions-crtools
- root_base
- uproot
- uproot-base
- uproot3
- uproot3-methods
- スクレイピング関係
- requests
- beautifulsoup4
- lxml
- selenium
- オーディオ関係
- pysoundfile
- playsound
- python-sounddevice
- wavio