docker pythonカスタムモジュールが見つかりません 質問する

docker pythonカスタムモジュールが見つかりません 質問する

私は Docker を初めて使用しており、1 つの簡単なアプリケーションを Docker に移行しようとしています。Python 標準モジュールは、「pip install」を使用してインポートできます。ただし、使用したいカスタム Python ユーティリティ ファイルがいくつかあります。これらのファイルは、別のパッケージ「utils」にあります。

私のメインのPythonファイルではtest.py、私は

from utils import math.py, logger.py

これは docker の外部では正常に動作しますが、docker 経由で実行するとエラーが発生します"ImportError: No module named utils"

私の Dockerfile コード:

FROM python:2.7.11
ADD ./ test_project/
WORKDIR test_project
ENV PATH=$PATH:/test_project/utils
ENV PYTHONPATH /test_project/utils

CMD [ "python", "report/test.py"]

私のディレクトリ構造:

  • test_project
    • report
    • utils

助言がありますか?

ベストアンサー1

PYTHONPATHに設定しました/test_project/utils。モジュール を解決しようとするとutils、次のいずれかが検索されます。

  • ファイル/test_project/utils/utils.py
  • /test_project/utils/utils/を含むディレクトリ__init__.py

これを持っているようですね?

utils/math.py
utils/logger.py

あなたが本当にやりたいことは

# different path...
ENV PYTHONPATH /test_project

from utils import math
from utils import logger

おすすめ記事