Differences between revisions 6 and 7
Revision 6 as of 2023-08-14 18:54:22
Size: 5834
Comment:
Revision 7 as of 2023-08-25 12:15:12
Size: 5925
Comment:
Deletions are marked like this. Additions are marked like this.
Line 123: Line 123:
   * mpl_toolkits : matplotlibで3Dの描画や地図の描画などをするのに使う

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 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

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

  • ファイル・文字列操作など
    • 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
  • 重力波関係
    • GWpy : 基本はコレ
    • lalsuite : フレームファイルの読み書きに必要。直接使わなくてもインストール必須
    • pycbc : CBC解析 (Matched filtering とか)
    • GWDetChar : DetChar解析

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

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

  • 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

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