簡體   English   中英

Python Docker 容器,找不到模塊

[英]Python Docker container, Module not found

我有以下項目結構

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 容器中,我在這里有點不知所措。 如果有人知道可能是什么問題,我將不勝感激!

如果您使用的是 Python <3.3,那么您的包根目錄中需要一個__init__.py文件來幫助 Python 構建命名空間: Python - Module Not Found

因此,解決我的問題的是 Dockerfile 中的更改。

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

而不是僅僅將文件夾復制到 .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM