错误:无法为 pyheif 构建轮子,这是安装 pyproject.toml-based 所必需的

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

这是 Stack Overflow 上的英文帖子:

**在 Mac OS 上的 Docker 中构建 pyheif 包时出错(适用于 Windows)

我正在使用 Docker 和 Python 3.12 开发一个 Python 应用程序。该应用程序在 Windows 上运行良好,但当尝试在 Mac OS 上构建它时,我在安装

pyheif
包时遇到错误。该错误与缺少头文件有关
libheif/heif.h
:

error: command 'gcc' failed with exit status 1
build/temp.linux-aarch64-3.7/_libheif_cffi.c:570:15: fatal error: libheif/heif.h: No such file or directory

这是我的

Dockerfile

FROM python:3.12

ENV MODE=testing

EXPOSE 8000

WORKDIR /app

COPY requirements/ ./requirements/

RUN apt-get update && \
    apt-get install -y gettext libheif-dev && \
    pip3 install --upgrade pip

RUN pip3 install -r requirements/development.txt

RUN mkdir media && mkdir basemod && mkdir main && mkdir templates && mkdir static && mkdir config && mkdir locale && mkdir logs

COPY manage.py ./
COPY secrets.json ./

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

我已经尝试过以下方法:

  1. 确保
    libheif-dev
    软件包安装在 Docker 映像中。
  2. 通过运行
    libheif
    ,检查
    brew install libheif
    是否可以通过 Mac 上的 Homebrew 访问。
  3. 通过
    xcode-select --install
    验证我拥有最新的 Xcode 命令行工具。

这在 Windows 上完美运行,但在 Mac OS 上失败。如何解决 Mac 上 Docker 中缺少

libheif/heif.h
的问题?任何建议将不胜感激!

如果需要,请务必调整这篇文章以包含有关您的设置的任何进一步的具体细节!

python macos dockerfile
1个回答
0
投票

正如dam1113所说,首先安装

libheif

对于 macOS:

  1. 使用 Homebrew 安装依赖项

    brew install cmake make pkg-config x265 libde265 libjpeg libtool

  2. 配置并构建项目(--预设参数需要 CMake >= 3.21):

    cd build
    cmake --preset=release ..
    ./configure
    make
    
    

https://github.com/strukturag/libheif?tab=readme-ov-file#macos

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