takeshita_kyouhei
2025年2月18日 23時09分
【概要】
コンテナ内にインストールされたPythonパッケージであるpymodbusのバージョンを確認したいがエラーとなってしまいました
原因と解決方法を知りたいです
【経緯】
Armadillo-IoT G4でPythonパッケージであるpymodbusを使用して、Modbusサーバへ接続し収集したデータをIoTHUBへ送信するプログラムを作成しています
先日、開発用SWUを新たに作成したためなのか不明ですが、以前の通りpymodbusでデータをModbusサーバから取得できなくなってしまいました
関数の仕様が変わった?ことから、pymodbusのバージョンが変化した可能性があります
そのため、コンテナ内にインストールされたpymodbusのバージョンを確認したいのですが、添付の画像の通りうまくいきませんでした
次のコマンドをArmadillo内で実行しています
ArmadilloにはminicomでUSB-シリアルコンソールで接続しています
podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"
本件についてどのように解決すればよいでしょうか?
ファイル | ファイルの説明 |
---|---|
podman_エラー.png |
コメント
takeshita_kyouhei
> 佐藤です。
>
> > podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"
> podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | grep pymodbus"
> としてみるとどうでしょうか。
コマンドに誤りがあったため再度実行してみましたが、添付の通り結果は変わりませんでした
ファイル | ファイルの説明 |
---|---|
podman_エラー.png |
at_makoto.sato
takeshita_kyouhei
> 佐藤です。
>
> atmark ユーザでログインして実行しているように見えます。
> root ユーザでログインして実行してみてもらえますでしょうか。
返信ありがとうございます
rootユーザで再度ログインした上で、コマンドを実行したところ結果は表示されました
しかし、2つほど疑問点があります
1.requirements.txtで定義して、インストールしているはずのpymodbusがpodmanコマンドで表示した結果見つかりませんでした
---requirements.txtの定義---
pymodbus
azure-iot-device
azure-storage-blob
requests
---ここまで---
---Dockerfileの定義(関連個所)---
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
---ここまで---
ATDE9上で確認した際に表示されたpymodbus:python3-pymodbus/oldstable.oldstable.oldstable 2.1.0+dfsg-2 all
上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
これは何が原因であると考えられるでしょうか?
2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
Last update on Tue Feb 18 15:01:58 JST 2025, updated:
modbus_collector: 10 -> 14
extra_os.modbus_collector: 10 -> 14
上記は問題ないのでしょうか?
at_makoto.sato
佐藤です。
> 上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
> これは何が原因であると考えられるでしょうか?
pip でインストールしているので apt コマンドでは表示されないです。
podman run --rm localhost/modbus_collector /bin/bash -c "pip list | grep pymodbus"
とするとどうでしょうか。
>
> 2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
> SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
> Last update on Tue Feb 18 15:01:58 JST 2025, updated:
> modbus_collector: 10 -> 14
> extra_os.modbus_collector: 10 -> 14
>
> 上記は問題ないのでしょうか?
こちらは問題ありません。
takeshita_kyouhei
連絡いただきありがとうございます
> > 上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
> > これは何が原因であると考えられるでしょうか?
> pip でインストールしているので apt コマンドでは表示されないです。
> podman run --rm localhost/modbus_collector /bin/bash -c "pip list | grep pymodbus"
> とするとどうでしょうか。
上記コマンドで、想定された結果を得ることが出来ました
> >
> > 2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
> > SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
> > Last update on Tue Feb 18 15:01:58 JST 2025, updated:
> > modbus_collector: 10 -> 14
> > extra_os.modbus_collector: 10 -> 14
> >
> > 上記は問題ないのでしょうか?
> こちらは問題ありません。
上記承知しました
気にしないようにします
本件、ご対応いただきありがとうございました
at_makoto.sato
2025年2月19日 9時02分
佐藤です。
> podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"
podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | grep pymodbus"
としてみるとどうでしょうか。