【问题标题】:ModuleNotFoundError: No module named 'psycopg2' using DockerModuleNotFoundError:没有使用 Docker 的名为“psycopg2”的模块
【发布时间】:2021-01-09 00:33:18
【问题描述】:

我查看了不同的解决方案,但目前无法找到解决方案。对于上下文,我正在使用 Wagtail CMS for 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 up 给我 ModuleNotFoundError: No module named 'psycopg2'。

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

【问题讨论】:

    标签: docker psycopg2


    【解决方案1】:

    抱歉,我想我找到了解决方案,我忘了在 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/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-15
      • 2019-09-09
      • 1970-01-01
      • 2021-04-06
      • 2021-03-07
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      相关资源
      最近更新 更多