我是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
有什么建议么?
您设置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