在 Docker 中导入
Import-through in Docker
我有主 workbench 文件夹(Docker 文件中的 WORKDIR),其中包含文件夹 initialize
和文件 max_init.py
。问题是当我 运行 图像时,它无法导入该模块:
File "app.py", line 1, in <module>
from initialize.max_init import *
ImportError: No module named initialize.max_init
Docker文件:
FROM ubuntu:latest
RUN apt-get update -y && \
apt-get install -y python-pip python-dev build-essential
COPY . /workbench
WORKDIR /workbench
RUN pip install -r requirements.txt
EXPOSE 8888
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]
我觉得是我经验不足Docker,但我自己找不到解决办法
编辑:层次结构:
workbench
|-- app.py
|-- initialize
|-- max_init.py
您是否记得在 initialize
模块文件夹中写了一个 __init__.py
文件?它是否正确载入了您的 max_init.py
文件?如果您不熟悉该约定,这里有很多解释。
我个人觉得很容易掌握的 Flask 解释器:http://flask.pocoo.org/docs/1.0/patterns/packages/
编辑:我从更新中看到这确实是问题所在。如果你修复它应该没问题...我什至不认为你需要重建 docker 图像但我可能会弄错。
我有主 workbench 文件夹(Docker 文件中的 WORKDIR),其中包含文件夹 initialize
和文件 max_init.py
。问题是当我 运行 图像时,它无法导入该模块:
File "app.py", line 1, in <module>
from initialize.max_init import *
ImportError: No module named initialize.max_init
Docker文件:
FROM ubuntu:latest
RUN apt-get update -y && \
apt-get install -y python-pip python-dev build-essential
COPY . /workbench
WORKDIR /workbench
RUN pip install -r requirements.txt
EXPOSE 8888
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]
我觉得是我经验不足Docker,但我自己找不到解决办法
编辑:层次结构:
workbench
|-- app.py
|-- initialize
|-- max_init.py
您是否记得在 initialize
模块文件夹中写了一个 __init__.py
文件?它是否正确载入了您的 max_init.py
文件?如果您不熟悉该约定,这里有很多解释。
我个人觉得很容易掌握的 Flask 解释器:http://flask.pocoo.org/docs/1.0/patterns/packages/
编辑:我从更新中看到这确实是问题所在。如果你修复它应该没问题...我什至不认为你需要重建 docker 图像但我可能会弄错。