Python Docker容器,未找到模块
我有以下项目结构Python Docker容器,未找到模块,python,docker,modulenotfounderror,Python,Docker,Modulenotfounderror,我有以下项目结构 twoFlasks/ ├── app.py ├── common/ │ ├── file1.py │ ├── file2.py │ └── file3.py ├── Dockerfile ├── requirements.txt ├── bot1/ │ │ │ ├── routes/ │ │ └── bot1_routes.py └── bot2/ └── routes
twoFlasks/
├── app.py
├── common/
│ ├── file1.py
│ ├── file2.py
│ └── file3.py
├── Dockerfile
├── requirements.txt
├── bot1/
│ │
│ ├── routes/
│ │ └── bot1_routes.py
└── bot2/
└── routes/
└── bot2_routes.py
以及以下Dockerfile:
FROM python:3.8
WORKDIR /project
COPY requirements.txt .
COPY app.py .
RUN pip3 install -r requirements.txt
COPY bot1/ .
COPY bot2/ .
COPY common/ .
EXPOSE 5000 3000
CMD ["python", "./app.py"]
映像已成功构建,但当我运行容器时,我在app.py文件的日志中收到以下错误消息
Traceback (most recent call last):
File "./app.py", line 9, in <module>
from bot2.routes import bot2_routes
ModuleNotFoundError: No module named 'bot2'
回溯(最近一次呼叫最后一次):
文件“/app.py”,第9行,在
从bot2.routes导入bot2\u路由
ModuleNotFoundError:没有名为“bot2”的模块
它在本地工作,但不在Docker容器中,我在这里有点不知所措。如果有人知道可能是什么问题,我会感谢你的帮助 如果您使用的是Python如果您使用的是Python那么,修复我的问题的是Dockerfile中的更改
COPY bot1/ ./bot1
COPY bot2/ .bot2
COPY common/ ./common
因此,解决我的问题的是Dockerfile中的更改,而不是将文件夹复制到。
COPY bot1/ ./bot1
COPY bot2/ .bot2
COPY common/ ./common
不只是将文件夹复制到。我使用的是Python3.8,如果我正确意识到,我就不需要
\uuuu init\uuuuuu.py
文件,对吗?如果我要添加init文件,它是在bot2/
还是在bot2/routes/
上?如果我正确意识到,我不需要\uuu init\uuuu.py
文件,对吗?如果我要添加init文件,它是在bot2/
还是在bot2/routes/
?