#114·IC-Light

【ImportError和推理Error】能打开可视化页面,但是推理图片时报 error 的一种可能的解决方法

Author: zyl-lyzCreated Dec 10, 2024Updated Dec 19, 2025

部署时一共遇到了三个问题, 问题 1: ImportError: cannot import name 'cached_download' from 'huggingface_hub' 原因requirements.txt 中要求安装 diffusers==0.27.2,但 diffusers 的依赖项 huggingface-hub 未指定版本。 未指定版本,则 pip 默认会安装符合要求的最新版本(我此时是0.26.x),但是 huggingface-hub 从 v0.26.0 版本开始就移除了 cached_download() 方法。 ( 在 huggingface-hub v0.26.0 的 Release Notes (https://github.com/huggingface/huggingface_hub/releases/tag/v0.26.0) 里可以查到: Breaking changes A few breaking changes have been introduced: cached_download(), url_to_filename(), filename_to_url() methods are now completely removed.From now on, you will have to use hf_hub_download() to benefit from the new cache layout. ) 解决方案: 降低 huggingface-hub 的版本,例如降级到 v0.25.0: pip install huggingface-hub==0.25.0

问题 2: ImportError: cannot import name 'EncoderDecoderCache' from 'transformers' 原因requirements.txt 中指定了 transformers 的版本,但未限制 peft 的版本。 这导致 pip 自动安装了较新版本的 peft(我此时是 v0.14.0),而旧版本的 transformers 与新版本的 peft 可能不兼容。 解决方案:降低 peft 的版本,降到0.13.0: pip install peft==0.13.0

问题 3: 运行 gradio_demo.py,可以正常打开可视化页面,但是推理图片时报 error image

具体原因不清楚,但是改了一下包的版本后解决了..... 解决方案:把 gradio 的版本升到3.48.0 pip install gradio==3.48.0