在Docker映像中运行脚本时出现“ ModuleNotFoundError”问题

时间:2019-05-06 22:27:18

标签: python docker

我有一组试图在Docker容器中运行的脚本。当我在PyCharm中编写代码时,所有的软件包似乎都是“找到的”。但是,当我在Docker容器中运行它时,出现错误“ ModuleNotFoundError:没有名为引擎的模块”

我计算机上脚本的目录结构是

C:\Users\alex\Documents\Work\DataIntegration\engine

我有engine

/py_core # "package" with helper scripts. Contains __init__.py
DockerFile
__init__.py
main.py

我的代码从main.py开始,并且在第一个import语句试图从py_core中的文件获取函数时失败。

我的Docker文件非常简单

# Use an official Python runtime as a parent image
FROM python:3.6

# indicating the files that need to be added to the new image:
COPY . /

# install the Python application's dependencies from requirements.txt:
RUN pip install -r requirements.txt

# instructs Docker to start our Python service when the image is run:
CMD [ "python3.6", "-u", "main.py" ]

我构建和运行Docker映像的方式。 我使用Docker工具箱是因为我在Docker桌面上遇到了很多麻烦。

在CLI上,我导航到计算机上的engine目录并运行以下命令:

docker build -t myproject . 

运行我的项目

docker run myproject

这应该在脚本过程中运行,但是在首次导入时会失败。

我已经在线查看了有关__init__.py文件的一些信息,并且在该项目中的几乎每个目录中都放置了一个信息,它仍然给我“找不到模块错误”的信息。我也看到了有关使用PYTHONPATH的一些信息,但我完全不确定我需要设置PYTHONPATH来解决此问题。

任何帮助表示感谢

0 个答案:

没有答案