Pythonにおけるモジュール、パッケージ、ライブラリとは [[https://ai-inter1.com/python-module_package_library/]] = Condaによるpython環境構築 = IGWN (the International Gravitational-Wave Observatory Network) Computing and Software で用意された環境(igwn-py39)を元にするのがよい。<
> 使い方は[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=13584|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の使い方は以下などを参照 (ググれば腐るほど出てきます) * [[https://www.python.jp/install/anaconda/conda.html|Conda コマンド:Python環境構築ガイド]] * [[http://www.yamamo10.jp/yamamoto/comp/Python/settings/install/index.php|Python環境設定: インストール]] * [[https://qiita.com/naz_/items/84634fbd134fbcd25296|Anaconda でよく使うコマンド一覧]] * [[https://devlights.hatenablog.com/entry/2017/12/09/183715|conda に conda-forge チャネルを追加 (conda config, channel, 追加パッケージ)]] いちいち仮想環境に入るためにコマンドを打つのは面倒なので、以下を~/.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するときに使う ([[https://hackmd.io/@tenoto/Skl_wArqD|参考]]) * 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 * 地球物理系 * geopandas : 位置情報入りの表計算や地図のplotなど (注意:igwn-py39を元に構築した環境には、依存性か何かのせいでインストールできない!) * pyproj : 地球上の距離計算 * geopy * folium * [[https://docs.obspy.org/|obspy]] : 地震波解析 * [[https://github.com/MTgeophysics/mtpy|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