这是 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"]
我已经尝试过以下方法:
libheif-dev
软件包安装在 Docker 映像中。libheif
,检查 brew install libheif
是否可以通过 Mac 上的 Homebrew 访问。xcode-select --install
验证我拥有最新的 Xcode 命令行工具。这在 Windows 上完美运行,但在 Mac OS 上失败。如何解决 Mac 上 Docker 中缺少
libheif/heif.h
的问题?任何建议将不胜感激!
如果需要,请务必调整这篇文章以包含有关您的设置的任何进一步的具体细节!
正如dam1113所说,首先安装
libheif
。
对于 macOS:
使用 Homebrew 安装依赖项
brew install cmake make pkg-config x265 libde265 libjpeg libtool
配置并构建项目(--预设参数需要 CMake >= 3.21):
cd build
cmake --preset=release ..
./configure
make
https://github.com/strukturag/libheif?tab=readme-ov-file#macos