h.shirakawa
2024年9月19日 15時19分
お世話になります。
①初めにArmadillo-X2にてコンテナの開発を行いました。
このコンテナにはrequirements.txtに定義した以下のPythonパッケージをインストールしており、期待通りの動作をしています。
numpy
scipy
pandas
statsmodels
scikit-learn
sklearn
tqdm
openpyxl
lightgbm
②続いてA6E用に同じ仕様でコンテナを作ろうとしましたが、requirements.txtに上記の内容を記載してswuファイルの作成をこころみたところ、
numpyのインストールにてエラーが発生しコンテナのビルドができませんでした。(エラー発生時のログは添付いたします)
③上記ライブラリ群を"apt install"にて追加するために、各項目を”phton3-***”に書き換えてpackages.txt記載し、ビルドをしたところlightgbm以外については成功しました。
lightgbmは"Unable to locate package python3-lightgbm"というエラーで終了しました。
④成功したパッケージはpackages.txtに残しておき、requirements.txtにlightgbmのみ記載して再度ビルドしましたが、失敗しました。
(numpyを再度インストールしようとして、②と同様のエラーが発生)
質問1:最終的にlightgbmを含めてコンテナのビルドを完了したいのですが、どのように進めればよいでしょうか?
質問2:A6EとX2について、コンテナビルド動作の違いは何に依存しているのでしょうか?
バージョンについては必要な項目をご指摘いただければ調べて記載いたしますのでお願いいたします。
以上、恐れ入りますがご回答・アドバイスいただけますと幸いです。
ファイル | ファイルの説明 |
---|---|
A6Eコンテナビルドエラー.txt |
コメント
h.shirakawa
2024年9月19日 19時22分
先にご連絡頂いた内容ですが、無事にswuのビルドに成功いたしました。
ビルド時のログを添付いたします。
動作確認はまだですが、X2にてビルドしていたログ内容と似ているので恐らくうまくいったのではないかと思います。
明日動作確認結果をご報告差し上げて、問題なければ本件クローズとさせていただきます。
以上、ご対応いただきありがとうございました。
ファイル | ファイルの説明 |
---|---|
A6Eコンテナビルド成功.txt |
h.shirakawa
2024年9月20日 10時55分
昨日はご対応いただきありがとうございました。
本日ビルドに成功したコンテナにて動作確認をしたところ、main.pyを起動した際に以下のエラーが発生して異常終了していました。
~~~~~~~~~~~~~
Traceback (most recent call last):
File "/vol_app/src/main.py", line 9, in
import pandas as pd
File "/usr/local/lib/python3.9/dist-packages/pandas/__init__.py", line 19, in
raise ImportError(
ImportError: Unable to import required dependencies:
numpy: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.
~~~~~~~~~~~~~
numpy関連の問題と見受けられたので調査中ですが、ライブラリインストール時に対応が必要な場合は対策にたどり着くまでに少し時間がかかりそうですので、もし何か思い当たるところがあればご教示いただけませんでしょうか?
以上、度々申し訳ありませんがよろしくお願いいたします。
h.shirakawa
2024年9月20日 16時47分
太田様
動作確認の結果、期待通りの動作となりましたので本件につきましてはクローズとさせていただきます。
一点、追加で手間取ったことがありましたので共有させていただきます。
・lightgbmのimport時にglibcのバージョンが合わないことでエラーが発生(GLIB2.32 not found)
→デフォルトではlightgbm4.5.0がインストールされますが、libc6のバージョンが2.31だったためと思われます。最終的にlightgbm==4.4.0を指定してインストールすることで正常動作となりました。
最後に、ご教示いただいた内容と当社で確認した内容を含めたrequirements.txtとpackages.txtの記載内容を共有させていただきます。
●requirements.txt
numpy
scipy
pandas
statsmodels
scikit-learn
sklearn
tqdm
openpyxl
lightgbm==4.4.0
●packages.txt
python3
python3-pip
libopenblas-dev
改めてこのたびはご対応いただきありがとうございました。
at_satoshi.ohta
2024年9月19日 18時15分
太田です。
お世話になっております。
動作の違いはこちらでも確認しました。
> 質問2:A6EとX2について、コンテナビルド動作の違いは何に依存しているのでしょうか?
はじめに質問2についてご回答させていただきます。
これはArmadillo-X2とA6EでそれぞれDocker hubのリポジトリから取得するdebianが違うためです。
Armadillo-X2はArm64v8のdebian、A6Eはarm32v7のdebianとなります。
> 質問1:最終的にlightgbmを含めてコンテナのビルドを完了したいのですが、どのように進めればよいでしょうか?
次に質問1についてですが、
下記の手順でビルドするとどうでしょうか?
ここでは、A6Eのpythonプロジェクトをmy_projectとします。
1. my_project/app/src/requirements.txtに書きを記述してください。
2. my_prject/container/Dockerfileのpipを実行しているコマンドに下記のように「--index-url=https://www.piwheels.org/simple」を追加してください。
3. [Generate development swu]を実行してください。
これで、想定の動作ができるか確かめてみていただけますでしょうか?
よろしくお願いいたします。