我有一组试图在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来解决此问题。
任何帮助表示感谢