Armadilloフォーラム

pythonライブラリのインストールについて

t_matsuyama

2025年5月14日 14時30分

==========
製品:A6E cat.M1 Di8+Ai4
Debian/ABOSバージョン:v3.21.3-at7
カーネルバージョン:
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

お世話になっております。

(ライブラリのインストールやpodman・dockerに不慣れなため、誤解があればご指摘ください)
pythonのライブラリをコンテナ内のアプリケーションで使用するために
https://armadillo.atmark-techno.com/forum/armadillo/14616
を参考にコンテナ内へインストールしようとしています。

質問は2点です。
①今回、疎通確認用にpythonのpingsをインストールしようとしていますが、
Alpine Linux のパッケージ(apk)が提供されていないようです。
Alpine Linuxで提供されていないライブラリは使えるのでしょうか?
使えるのであれば、インストール方法を教えて頂きたく。
(過去にも似たようなことがあったため、本件のみであれば
https://pkgs.alpinelinux.org/package/v3.18/main/x86/iputils-ping
を代替に使えそうですが、後学のために...)

②Dockerfileから、ライブラリをインストールすることができるのでしょうか?
requirements.txt?のようなものにライブラリを記載してインストールできると
楽な気がするので。教えて頂けるとありがたいです。

以上、よろしくお願い致します。

コメント

まず、単純に手順だけ書くとVSCodeで開発を初めて
ABOSDEプラグインからA6Eのプロジェクトにある
「新しいPythonのプロジェクト」でプロジェクトを作ることができます。

できたプロジェクトはVSCodeの新しい画面で開いた状態になっているので
app/srcの下にrequirements.txtにそのままpings
と一行掛けばOKです。同時に生成されるmain.pyでimportできるコンテナを
生成することができます。

Armadilloでの実行や、リリース用のコンテナ化してのビルドも同様に
VSCode上のABOSDEプラグインのメニューから完結することができます。

製品マニュアル3章の開発編を長いですが、一通り読まれるとABOSDEの
使い方がわかると思います。
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

先のフォーラムの回答に言及すると、
Dockerfileを直接触るのは基本的には不要で、pythonであれば上記の
requirements.txtで十分なことが多いです。

apkの有無については、Armadillo Base OSはalpine linuxですが、
コンテナはalpine linuxである必要はありません。上の手順で生成される
pythonプロジェクトで使うコンテナはdebian bullseye(のslim版)になっています。
そして、pythonのライブラリが必ずしもdebianやalpineのOS側の
パッケージマネジメントシステム(apkやapt/deb)で供給されるとは限らず、
pip側で導入が必要な場合も多いです。

ABOSDEでコンテナとしてアプリケーションを統一して管理している限りは
requirements.txtでpip経由で必要なものを追加して、それで問題がある場合に
他の手段を使うと良いと思います。その時、解決できないようであれば
またフォーラムで聞いてください。

OS側のパッケージマネジメントシステムの供給するpythonのライブラリと
pipの混在は理解して実行しないと破壊的な状態になるため、
(uvやvenv等のpython側のpip環境の仮想化も含め)
まずは、1つの方法でパッケージを揃えてみてください。