使用diffusers 0.28.0与huggingface_hub 0.27.1时遇ImportError求助
问题场景
- 环境配置:
huggingface_hub==0.27.1diffusers==0.28.0
- 报错信息:
Traceback (most recent call last):
File "/data/om/Lotus/infer.py", line 11, in
from diffusers.utils import check_min_version
File "/data/anaconda/envs/lotus/lib/python3.10/site-packages/diffusers/init.py", line 5, in
from .utils import (
File "/data/anaconda/envs/lotus/lib/python3.10/site-packages/diffusers/utils/init.py", line 38, in
from .dynamic_modules_utils import get_class_from_dynamic_module
File "/data/anaconda/envs/lotus/lib/python3.10/site-packages/diffusers/utils/dynamic_modules_utils.py", line 28, in
from huggingface_hub import cached_download, hf_hub_download, model_info
ImportError: cannot import name 'cached_download' from 'huggingface_hub' (/data/anaconda/envs/lotus/lib/python3.10/site-packages/huggingfa...)
解决方案
问题源于版本不兼容:huggingface_hub从0.28.0版本开始移除了cached_download函数,但diffusers==0.28.0仍依赖该函数,可通过以下两种方式修复:
方案1:降低huggingface_hub版本
将huggingface_hub降级到0.27.x以下版本(如0.26.4),执行命令:
pip install huggingface_hub==0.26.4
方案2:升级diffusers版本
将diffusers升级到适配新版huggingface_hub的版本(如≥0.29.0),执行命令:
pip install diffusers>=0.29.0
若选择此方案,建议同步升级两个库到最新兼容版本,避免其他潜在问题:
pip install --upgrade huggingface_hub diffusers
内容的提问来源于stack exchange,提问作者Om Rastogi

