未找到docker python自定义模块

时间:2017-01-24 00:46:50

标签: python docker dockerfile

我是docker的新手并尝试将一个简单的应用程序移动到docker。 我可以使用“pip install”导入Python标准模块。但是,我有一些我想使用的自定义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 个答案:

答案 0 :(得分:5)

您将PYTHONPATH设置为/test_project/utils。在尝试解析模块utils时,它正在寻找以下之一:

  • file /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