Armadilloフォーラム

requirements.txtが検出されずSWUが生成されない

iwaya_yoke

2025年7月16日 18時15分

ATDEで新しくPythonプロジェクトを作成して、vscode拡張機能よりSWUを生成しようとすると、
Dockerの以下の部分でrequirements.txtがないとエラーがでます。
RUN python3 -m pip install -r requirements.txt

今までは開発用のPCでSWUを生成しており、このときは問題なく生成できていますが、
リリース用のPCで新しくプロジェクトを作成してSWUを生成しようとするとエラーになります。
現在requrirements.txtはapp/srcに置いています。

原因としては何が考えられるでしょうか?

コメント

ちなみに、実行後は、resources_pythonというディレクトリが生成され、その中にrequirements.txtが存在しています。

参考ファイルとして生成されるDockerfile_alpineというファイルで以下のように記載されているので、これを試してみましたが、これでも同じ結果でした。
RUN python3 -m pip --no-cache-dir install --break-system-packages -r requirements.txt

at_satoshi.ohta

2025年7月16日 18時37分

太田です。

> リリース用のPCで新しくプロジェクトを作成してSWUを生成しようとするとエラーになります。

ABOSDE の左メニューから「CREATE NEW PROJECT」>「A6E」>「Python New Project」を選択して、サンプルプログラムに対して「Generate development swu」を実行した場合でも同様のエラーになりますでしょうか?

もしその状態でエラーにならないのであれば、間違いなく実行できる環境から足りないファイルを再配置する方が確実かと思います。

app/src の内容と必要な設定ファイル(containerディレクトリ内の Dockerfile, resources, packages.txtなど)のみを開発用PCからリリース用PCの上記で作成したディレクトリに移して再度、実行してみていただいてもよろしいでしょうか?

どうぞよろしくお願いいたします。

ご対応ありがとうございます。

>ABOSDE の左メニューから「CREATE NEW PROJECT」>「A6E」>「Python New Project」を選択して、サンプルプログラムに対して「Generate development swu」を実行した場合でも同様のエラーになりますでしょうか?

これは正しく生成できました。

>app/src の内容と必要な設定ファイル(containerディレクトリ内の Dockerfile, resources, packages.txtなど)のみを開発用PCからリリース用PCの上記で作成したディレクトリに移して再度、実行してみていただいてもよろしいでしょうか?

この方法でSWUは生成していますが、エラーが出ています。
コピーしているのは以下です。
- appディレクトリ(srcディレクトリと並列に設定ファイルなどが入っていたりします)
- containerのDockerfile, pckages.txt
- configのapp.conf, app.desc

at_satoshi.ohta

2025年7月17日 7時19分

太田です。

> ちなみに、実行後は、resources_pythonというディレクトリが生成され、その中にrequirements.txtが存在しています。

先月の対応で Dockerfile_python を追加するために requirements.txt のコピー先を resources_python に変更しました。
(requirements.txt は python プロジェクト固有のファイルなので resources ではなく resources_python にある方が適切だと思っています。)

> この方法でSWUは生成していますが、エラーが出ています。
> コピーしているのは以下です。
> - appディレクトリ(srcディレクトリと並列に設定ファイルなどが入っていたりします)
> - containerのDockerfile, pckages.txt
> - configのapp.conf, app.desc

情報ありがとうございます。
作業手順は把握できました。

よろしければ、開発用 PC からコピーしてきた Dockerfile の中身を添付していただくことは可能でしょうか?

:(省略)
ARG PRODUCT
COPY resources [r]esources_${PRODUCT} resources_python / ★
 
# Add extra python modules to app/src/requirements.txt
RUN python3 -m pip --no-cache-dir install -r requirements.txt

★の行にあるように、"RUN python3 -m pip ~~" をインストールする前に "COPY resources_python /" が実行されているか気になりました。

また、参考としてお聞きしたいのですが、開発用PC のターミナルで、プロジェクトのディレクトリ内で以下のコマンドを実行すると何か出力されますでしょうか?
以下の例ではプロジェクトディレクト名は my_project_python_a6e です。

atmark@atde9:~/my_project_python_a6e$ cat .version

どうぞよろしくお願いいたします。

ありがとうございます。

resources_pythonをDockerfileに追記するとエラーがでなくなりました。
プロジェクト生成で出力されるDockerfileみると、確かにこの部分が追加されていました。
ちなみに、開発用PCは.versionはなかったです。

at_satoshi.ohta

2025年7月17日 9時36分

太田です。

> resources_pythonをDockerfileに追記するとエラーがでなくなりました。

解決できて何よりです。

> ちなみに、開発用PCは.versionはなかったです。

了解しました。調査ありがとうございます。

今後ともどうぞよろしくお願いいたします。