返回
Huggingface Hub cached_download 移除:继续使用的解决方案
开发配置
2024-11-24 11:33:45
背景
在 Huggingface Hub 0.26 版本中,官方移除了 cached_download
方法,推荐改用新的 hf_hub_download
方法。这对依赖开源代码、无法直接修改的用户造成了影响。如果你无法更改源码但仍需要 cached_download
,可以选择安装兼容版本(如 0.25)。
解决方法
以下是继续使用 cached_download
的方法:
-
指定安装兼容版本
安装 Huggingface Hub 的 0.25 版本(或更早版本):pip install huggingface_hub==0.25
这样,你可以继续使用
cached_download
方法而不需要对源码进行改动。 -
验证安装版本
安装完成后,检查是否正确安装了目标版本:pip show huggingface_hub
输出示例:
Name: huggingface-hub Version: 0.25.0
-
检查依赖冲突
如果项目依赖的其他库(如transformers
或datasets
)需要更高版本的huggingface_hub
,可能会出现依赖冲突。- 检查依赖:
pip install huggingface_hub==0.25 --no-deps
- 手动安装其他依赖版本,确保兼容性。
- 检查依赖:
-
解决环境隔离问题
为了避免影响其他项目,建议使用虚拟环境或conda
环境隔离:python -m venv env source env/bin/activate # Windows: env\Scripts\activate pip install huggingface_hub==0.25
替代方案(如可选)
如果可以间接解决问题,还可以通过以下思路:
- 临时降级使用
cached_download
后再升级:针对仅需运行一次的代码场景,可以先使用 0.25 下载必要文件,再升级到新版本。 - 二次包装兼容接口:如果你能对调用
cached_download
的部分代码进行包装,可以通过创建自定义函数模拟行为。
结论
在无法修改源代码的情况下,通过安装 Huggingface Hub 的兼容版本(如 0.25)可以继续使用 cached_download
方法。这样,你可以不影响项目运行的前提下解决问题,同时为未来升级代码留下空间。