繁体   English   中英

ModuleNotFoundError:没有使用 Docker 的名为“psycopg2”的模块

[英]ModuleNotFoundError: No module named 'psycopg2' using Docker

我查看了不同的解决方案,目前我无法找到解决方案。 对于上下文,我正在使用 Wagtail CMS 为 Django 构建一个网站,并且我正在尝试使用 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 会给我 ModuleNotFoundError: No module named 'psycopg2'。

我还想指出,做 pip install psycopg2 和 pip install psycopg2-binary 不起作用,它会给我满足要求的消息。 使用 pip3 也不起作用,而且我不在 venv 中。

抱歉,我想我找到了解决方案,我忘了在 requirements.txt 中包含 psycopg2-binary

我还替换了默认的 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 --volumes然后docker-compose up --build

这解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM