运行时出现 Docker 错误:没有名为“pytz”的模块

Posted

技术标签:

【中文标题】运行时出现 Docker 错误:没有名为“pytz”的模块【英文标题】:Docker error while running: no module named 'pytz' 【发布时间】:2022-01-12 18:01:32 【问题描述】:

运行docker-compose run server python manage.py makemigrations(进行迁移)并收到此错误时:

django.template.library.InvalidTemplateLibrary: Invalid template library specified. 
ImportError raised when trying to load 'rest_framework.templatetags.rest_framework': No mo
dule named 'pytz'

我的docker-compose.yml

version: '3'

services:
  db:
    build: ./etc/docker/db
    restart: always
    volumes:
      - ./var/volumes/dbdata:/var/lib/mysql
    env_file:
      - ./etc/docker/db/env
    healthcheck:
      test: mysqladmin ping -h 127.0.0.1 -u root --password=example
      interval: 1s
      timeout: 5s
      retries: 10

  server: &web
    build:
      context: .
      dockerfile: ./etc/docker/web/Dockerfile
    volumes:
      - ./server:/home/web/server
#    depends_on:
#      db: condition: service_healthy

    ports:
      - "8080:8080"
    command: ["python", "manage.py", "runserver", "0.0.0.0:8080"]

我尝试通过 pip install pytz 安装pytz,但我仍然遇到同样的错误。现在我很困惑,请解释问题可能是什么。

【问题讨论】:

pip install pytz? @KlausD。更新了问题;)我试过了,但仍然得到同样的错误 我想,我有两种不同的 Python:来自 Windows 和来自 WSL。 Docker用的是第二种,但是我不知道怎么访问一个 【参考方案1】:

您需要在 Dockerfile 中安装所有依赖项。 你的 dockerfile 应该包含类似

COPY requirements.txt /app/requirements.txt  
RUN pip install -r /app/requirements.txt

您的 requirements.txt 包含运行服务器所需的所有库。

或者你可以在 dockerfile 中安装你需要的库

RUN pip install pytz django etc...

【讨论】:

以上是关于运行时出现 Docker 错误:没有名为“pytz”的模块的主要内容,如果未能解决你的问题,请参考以下文章

运行命令 **sed** 时出现 docker 容器错误 [重复]

将 pyspark pandas_udf 与 AWS EMR 一起使用时出现“没有名为‘pandas’的模块”错误

使用 rust 二进制文件运行 docker 映像时出现权限被拒绝错误

Docker 容器在运行 php 应用程序时出现 503 错误

在节点 Docker 容器中运行项目时出现 Tailwind CSS EACCESS 错误(Docker Compose)

尝试使用 PyOsmium 时出现“没有名为 'osmium._osmium' 的模块”错误