You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.12 Windows环境下Pyheif等库安装失败求助

解决Windows下Python 3.12支持HEIC/HEIF格式的方案

方案1:使用pillow-heif(Pillow扩展)

pillow-heif是为Pillow打造的HEIC/HEIF支持插件,提供Windows预编译轮子,无需手动编译,适配Python 3.12。

  • 安装步骤:

    1. 确保已安装Pillow:pip install pillow
    2. 安装pillow-heif:pip install pillow-heif
  • 示例代码(转换HEIC为JPG并压缩):

from PIL import Image
import pillow_heif

# 注册HEIC格式支持
pillow_heif.register_heif_opener()

# 打开HEIC文件
with Image.open("input.heic") as img:
    # 转换并保存为压缩后的JPG
    img.save("output.jpg", format="JPEG", quality=80)

方案2:手动安装pyheif预编译轮子

pyheif的pip安装失败多因缺少Windows二进制包,可直接下载对应版本的whl文件本地安装:

  • 步骤:

    1. 下载适配Python 3.12、Windows 64位的pyheif预编译whl文件(注意选择后缀含cp312-win_amd64的版本)
    2. 本地安装:pip install path/to/pyheif-xxx-cp312-win_amd64.whl
    3. 配合Pillow使用需额外安装:pip install pyheif-pillow-opener
  • 示例代码:

from PIL import Image
import pyheif_pillow_opener

# 打开HEIC文件
with Image.open("input.heic") as img:
    img.save("output.jpg", quality=75)

方案3:调用FFmpeg命令行工具(无Python库依赖)

如果上述库仍无法安装,可借助FFmpeg处理HEIC格式,Python通过subprocess调用命令行:

  • 步骤:
    1. 下载Windows版FFmpeg并解压,将其bin目录添加到系统环境变量PATH
    2. Python中调用转换:
import subprocess

# 单文件转换:HEIC转JPG并压缩
subprocess.run([
    "ffmpeg", "-i", "input.heic",
    "-q:v", "2",  # 压缩质量,1-31取值,值越小质量越高
    "output.jpg"
], check=True)

# 批量处理当前目录下的HEIC文件
import os
for filename in os.listdir("."):
    if filename.endswith(".heic"):
        output_name = os.path.splitext(filename)[0] + ".jpg"
        subprocess.run([
            "ffmpeg", "-i", filename, "-q:v", "3", output_name
        ], check=True)

内容的提问来源于stack exchange,提问作者Ardean Bima Saputra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:09:57