ModuleNotFoundError: 没有使用 Docker 'psycopg2'命名的模块



我查看了不同的解决方案,但目前找不到解决方案。就上下文而言,我正在使用Django的Wagtail CMS构建一个网站,并尝试使用Docker。我使用构建项目

wagtail start sevendays

然后用以下代码创建了一个docker-compose.yml文件:

version: "3.9"

services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db

我还将settings.py更改为适当的PostgreSQL配置。运行docker compose-up会给我ModuleNotFoundError:没有名为"psycopg2"的模块。

我还想注意的是,做pip-install-psycopg2和pip-install psycopg2二进制文件都不起作用,它会给我满足要求的消息。使用pip3也不起作用,我也不在venv。

对不起,我想我找到了解决方案,我忘记在requirements.txt 中包含psycopg2二进制文件

我也替换了默认的Dockerfile,但我很确定requirements.txt就是修复它的原因,使用

FROM python:3
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

这些命令帮助了我第一个docker-compose down --volumesdocker-compose up --build

这解决了我的问题

相关内容

最新更新