Python Docker容器,未找到模块

2024-06-10 21:46:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下项目结构

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'

它在本地工作,但不在Docker容器中,我在这里有点不知所措。如果有人知道可能是什么问题,我会感谢你的帮助


Tags: 项目pydockerfiletxtappcommon结构容器
2条回答

如果您使用的是Python<;3.3然后在包根目录中需要一个__init__.py文件来帮助Python构建名称空间:Python - Module Not Found

因此,解决我的问题的是Dockerfile中的更改

COPY bot1/ ./bot1
COPY bot2/ .bot2
COPY common/ ./common

而不仅仅是将文件夹复制到

相关问题 更多 >