问题描述
我是docker的新手,正在尝试将一个简单的应用程序移至docker.我可以使用"pip install"导入Python标准模块.但是,我有一些要使用的自定义python实用程序文件.这些文件位于单独的"utils"包中.
I am new to docker and trying to move one simple application to docker.Python standard modules I am able to import using "pip install". However, I have some custom python utility files that I would like to use.These files are in separate package "utils".
在我的主要python文件: test.py
中,我正在做
In my main python file : test.py
, I am doing
from utils import math.py, logger.py
在docker外部可以正常工作,但是通过docker运行时会出现错误"ImportError:No名为utils的模块"
.
This outside of docker works fine, but when running through docker gives me the error "ImportError: No module named utils"
.
我的Dockerfile代码:
My Dockerfile code:
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"]
我的目录结构:
My directory structure:
-
test_project
-
报告
-
实用程序
有什么建议吗?
推荐答案
您将
PYTHONPATH
设置为/test_project/utils
.尝试解析模块utils
时,它正在寻找以下其中一项:You set
PYTHONPATH
to/test_project/utils
. When trying resolve the moduleutils
, it is looking for one of:- 文件
/test_project/utils/utils.py
包含 - 目录
/test_project/utils/utils/
.
__ init __.py
的看起来你有这个吗?
utils/math.py utils/logger.py
我想知道您真正想做的是
I wonder if what you really mean to do is
# different path... ENV PYTHONPATH /test_project from utils import math from utils import logger
这篇关于找不到docker python自定义模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
-