无法为 libsass 构建轮子

问题描述 投票:0回答:1

大家好,我正在尝试使用 docker 在 wagtail 中启动一个项目,我有以下要求

Django>=4.2,<5.1
wagtail>=5.2,<5.3
psycopg2-binary==2.9.9
libsass==0.22.0
django-libsass==0.9.0
django-compressor==4.4
wagtail-metadata==5.0.0
wagtail-modeltranslation==0.14
wagtail-orderable==1.2.0

这是我的 Dockerfile

# /app/Dockerfile
# Pull the base image
FROM python:3.11.4-alpine3.17 AS builder

# Set workdirectory
WORKDIR /src/

# Enviroment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Install server packages
RUN apk update \
    && apk add --no-cache postgresql-dev gcc python3-dev musl-dev libffi-dev openssl-dev \
    && apk add --no-cache jpeg-dev libwebp-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev libxml2-dev libxslt-dev libxml2 \
    && rm -rf /var/cache/apk/* /tmp/*

# Install python packages
COPY requirements.txt .
RUN pip install --upgrade pip \
    && pip install --upgrade pip setuptools \
    && pip install --no-cache-dir -r requirements.txt

# Postgres Entrypoint
COPY src/entrypoint.sh .
ENTRYPOINT ["sh","/src/entrypoint.sh"]

# Copy needed files
COPY src .

和docker docker-compose.yml

version: "3.7"

services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./src/:/src/
    ports:
      - 8000:8000
    environment:
      - DJANGO_SETTINGS_MODULE=app.settings.dev
    env_file:
      - infra/dev/env_files/.env.dev
    depends_on:
      - db

  db:
    image: postgres:12.2-alpine
    restart: always
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - infra/dev/env_files/.env.dev.db

volumes:
  postgres_data:

这是我的项目文件系统,如果有帮助的话

enter image description here

每次我运行 docker-compose up -d --build 时,它都会返回“无法为 libsass 构建轮子”

我尝试更新 pip 和其他版本的 libsass 但似乎不起作用

这是完整的错误:

Full error

python django docker sass wagtail
1个回答
0
投票

将编译失败的错误消息输入 Google 会导致 https://github.com/sass/libsass-python/issues/282

就我个人而言,这就是为什么我不使用 alpine 作为基础镜像的原因。如果您有时间整理所有依赖项,那么它的超级精简非常适合构建小图像。我建议从一些不那么精简的东西开始。例如,docker-wagtail-develop 存储库从

python:3.8-bullseye
开始,或者 Bakerydemo 使用
FROM python:3.9-slim

© www.soinside.com 2019 - 2024. All rights reserved.