MacOS Ventura 13.6.3下pip3安装pyheif失败:找不到libheif/heif.h
解决MacOS Ventura下pyheif安装时找不到libheif头文件的问题
问题原因
brew安装的libheif默认存在/opt/homebrew/include(M系列芯片)或/usr/local/include(Intel芯片)路径下,但pip编译pyheif时,没自动识别这些非系统默认路径,导致找不到libheif/heif.h。
解决方法
方法1:临时设置环境变量再安装
根据你的芯片类型执行对应命令:
- M系列芯片:
export C_INCLUDE_PATH="/opt/homebrew/include:$C_INCLUDE_PATH" export LIBRARY_PATH="/opt/homebrew/lib:$LIBRARY_PATH" pip3 install pyheif - Intel芯片:
export C_INCLUDE_PATH="/usr/local/include:$C_INCLUDE_PATH" export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH" pip3 install pyheif
方法2:直接给pip传编译路径参数
如果环境变量设置无效,安装时直接指定libheif的头文件和库文件路径:
- M系列芯片:
pip3 install pyheif --global-option=build_ext --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib" - Intel芯片:
pip3 install pyheif --global-option=build_ext --global-option="-I/usr/local/include" --global-option="-L/usr/local/lib"
方法3:用预编译轮子跳过编译
不想折腾编译的话,直接装第三方打包的预编译版本:
pip3 install pyheif-wheel
方法4:自动识别libheif路径
先确认brew安装libheif的实际路径:
brew --prefix libheif
把输出的路径(比如/opt/homebrew/opt/libheif)自动代入环境变量后再安装:
export C_INCLUDE_PATH="$(brew --prefix libheif)/include:$C_INCLUDE_PATH" export LIBRARY_PATH="$(brew --prefix libheif)/lib:$LIBRARY_PATH" pip3 install pyheif
内容的提问来源于stack exchange,提问作者Vlad K.
相关产品推荐
相关产品推荐

