LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

PythonでiRIC上で動作するプログラムを開発する?!

概要

iRICソフトウェアにMiniconda環境が導入されたことで、iRICソフトウェア上でPythonで記述されたプログラムが動作するようになりました。事例として、土木研究所自然研究共生センターさんが開発されたEvaTRiP Proがあります。

「おいらも、PythonでiRIC上で動くプログラムを作ってみたい!」という方に向けて、ここではその開発方法を紹介したいと思います。

前提知識

本記事では、iRIC上で動くPythonプログラムの開発方法を紹介しますので、Pythonについてある程度知識がある方を対象とします。またプログラム開発にはVS codeを利用します。PythonやVS codeについては以下などを参考に学習してください。

環境設定・準備

まずは以下の手順でiRIC用のMinicondaをインストールします。

1.iRICのMiniConda環境をインストールする

iRICを起動し、「メニューバー>オプション>メンテナンス」を起動します。以下の画面が表示されますので、「iRICを閉じてiRIC Maintainanceを起動」をクリックします。

image.png

以下画面が表示されます。「コンポーネントの追加または削除」を選択し、「次へ」をクリックします。

image.png

「Miniconda 3」を選択し、「次へ」をクリックします。Minicondaにチェックが入っている方は、インストール済ですのでそのまま「キャンセル」をクリックして終了してください。

次に表示される画面で「更新」をクリックすると更新が開始されます。更新完了すればOKです。

image.png

2.【準備】自作ソルバー用のフォルダを作成する

エクスプローラを開き、iRICソフトウェアをインストールしたフォルダを開てください。デフォルトでは、以下にインストールされていますので、以下をエクスプローラーのアドレスバーに貼り付けてください。

%USERPROFILE%\iRIC

iRICのインストールフォルダに名称:"private"とフォルダを作成してください。"private"フォルダを作成したら、"private"フォルダを開いてください。次に"solvers"フォルダを作成します。自作ソルバーは"solvers"フォルダに格納します。

3. サンプルプログラムのダウンロード

上記githubのページにアクセスし、"Code > Download ZIP"からファイル一式を名称を変更せずにダウンロードしてください。"mysolver-master.zip"がダウンロードされるはずです。zipファイルを解凍するといくつかファイルが格納された"mysolver-master"というフォルダが作成されると思います。"mysolver-master"フォルダをフォルダごとコピーして、先ほど作成した"solvers"フォルダにペーストしてください。

フォルダ構成が以下となっていることを確認してください。

%USERPROFILE%\iRIC\PRIVATE
├─solvers
    └─mysolver-master
        └─main.py・・・・・・・・・pythonのサンプルプログラム
        └─definition.xml・・・・・iRIC用 計算条件入出力定義ファイル
        └─LICENSE・・・・・・・・・ライセンスファイル
        └─README.md・・・・・・・・readmeファイル
        └─sampledata.ipro・・・・サンプルプログラム:"main.py"用のサンプルデータ
        └─sample_data・・・・"sampledata.ipro"を解凍したフォルダ

以上で、設定および準備は完了です。

Pythonプログラムを確認・実行する

1. VS codeで"mysolver-master"フォルダを開く

VS codeを起動し、「メニューバー>ファイル>フォルダを開く」から、上で作成した"%USERPROFILE%\iRIC\PRIVATE\solvers\mysolver-master"を開きます。フォルダを開いたら"main.py"を開いてください。

2. Python実行環境をiRIC/Miniconda3に設定する

VS codeの画面左下に表示されたPythonX.X.Xをクリックし、"~/iRIC/Miniconda3/envs/iric/python.exe"を選択してください。このリストは、あなたのコンピュータにインストールされているPythonの実行環境です。複数存在しているかと思いますので、しっかりパス表記を確認して選択してください。Pythonの実行環境の選択を間違えるとプログラムが正しく動作しません。気を付けてください。

image.png

3. 動作確認:サンプルプログラムの実行

iric用のpythonプログラムが適当に動作することを確認するため、"main.py"をF5ボタンを押すなどして実行してみてください。適当に実行できれば適当に環境が設定できていることになります。

iRICソフトウェア上で実行確認してみる

iRICソフトウェアを起動して、「プロジェクトを開く」から"sampledata.ipro"を開きます。"sampledata.ipro"はgithubからダウンロード・解凍したフォルダ(以下)に格納されています。

%USERPROFILE%\iRIC\PRIVATE\solvers\mysolver-master

ファイルが開けたらiRIC上で実行してみてください。正常に動作するはずです。正常に動作しなかった場合は、iRICの「メニューバー>オプション>設定」から設定画面を開いて、Pythonのパス が、"C:\users[ユーザー名]\iRIC\Miniconda3\envs\iric\python.exe"になっていることを確認してください。%USERPROFILE%などは利用できないことに注意してください。

image.png

注意事項

現状、iRICに同梱されたMinicondaには以下のモジュールがインストールされています。下記以外のモジュールを必要とするPythonプログラムを動作させるためには、別途モジュールをインストール必要があります。この点は課題と認識しており、今後仕様変更する可能性があります。

conda環境

>conda list
# packages in environment at C:\Users\riverlink\iRIC\Miniconda3\envs\iric:
#
# Name                    Version                   Build  Channel
blas                      1.0                         mkl
ca-certificates           2021.5.25            haa95532_1
certifi                   2021.5.30        py38haa95532_0
cycler                    0.10.0                   pypi_0    pypi
intel-openmp              2021.2.0           haa95532_616
kiwisolver                1.3.1                    pypi_0    pypi
matplotlib                3.4.2                    pypi_0    pypi
mkl                       2021.2.0           haa95532_296
mkl-service               2.3.0            py38h2bbff1b_1
mkl_fft                   1.3.0            py38h277e83a_2
mkl_random                1.2.1            py38hf11a4ad_2
numpy                     1.20.2           py38ha4e8547_0
numpy-base                1.20.2           py38hc2deb75_0
openssl                   1.1.1k               h2bbff1b_0
pillow                    8.2.0                    pypi_0    pypi
pip                       21.1.2           py38haa95532_0
pyparsing                 2.4.7                    pypi_0    pypi
python                    3.8.10               hdbf39b2_7
python-dateutil           2.8.1                    pypi_0    pypi
setuptools                52.0.0           py38haa95532_0
six                       1.15.0           py38haa95532_0
sqlite                    3.35.4               h2bbff1b_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.36.2             pyhd3eb1b0_0
wincertstore              0.2                      py38_0

pip

>pip list
Package         Version
--------------- -------------------
certifi         2021.5.30
cycler          0.10.0
kiwisolver      1.3.1
matplotlib      3.4.2
mkl-fft         1.3.0
mkl-random      1.2.1
mkl-service     2.3.0
numpy           1.20.2
Pillow          8.2.0
pip             21.1.2
pyparsing       2.4.7
python-dateutil 2.8.1
setuptools      52.0.0.post20210125
six             1.15.0
wheel           0.36.2
wincertstore    0.2

まとめ

本記事では以下を紹介しました。

  • iRIC上でPythonプログラムを動作させるための環境設定・準備
  • サンプルのPythonプログラムをVScode上で確認・実行する方法
  • iRIC上でプログラムを実行する方法

Pythonプログラム書き方について、また別の機会に紹介したいと思います。現段階では、以下を参考して記述してください。Pythonのプログラムを動かすためには、そのPythonプログラムに適した実行環境を整備することが重要になります。Pythonの実行環境設定に関する記事はWeb上にたくさんありますが、僕のほうでも機会を作って記述してみようと思います。

【参考】関数リファレンス

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5