首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Docker容器,找不到模块

Python Docker容器,找不到模块
EN

Stack Overflow用户
提问于 2020-09-08 22:50:28
回答 2查看 153关注 0票数 1

我有以下项目结构

代码语言:javascript
运行
复制
twoFlasks/
├── app.py
├── common/
│   ├── file1.py        
│   ├── file2.py       
│   └── file3.py    
├── Dockerfile
├── requirements.txt       
├── bot1/   
│   │        
│   ├── routes/
│   │   └── bot1_routes.py
└── bot2/
    └── routes/
        └── bot2_routes.py

和以下Dockerfile:

代码语言:javascript
运行
复制
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文件的日志中得到以下错误消息

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "./app.py", line 9, in <module>
    from bot2.routes import bot2_routes
ModuleNotFoundError: No module named 'bot2'

它在本地工作,但不能在Docker容器中工作,我在这里有点不知所措。如果有人知道问题出在哪里,我将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-10 20:09:57

因此,修复我的问题的是Dockerfile中的一个更改。

代码语言:javascript
运行
复制
COPY bot1/ ./bot1
COPY bot2/ .bot2
COPY common/ ./common

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

票数 0
EN

Stack Overflow用户

发布于 2020-09-08 23:03:50

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63796426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档