LoginSignup
5

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-06-16

概要

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
  3. You can use dark theme
What you can do with signing up
5