返回

Huggingface Hub cached_download 移除:继续使用的解决方案

开发配置

背景

在 Huggingface Hub 0.26 版本中,官方移除了 cached_download 方法,推荐改用新的 hf_hub_download 方法。这对依赖开源代码、无法直接修改的用户造成了影响。如果你无法更改源码但仍需要 cached_download,可以选择安装兼容版本(如 0.25)。

解决方法

以下是继续使用 cached_download 的方法:

  1. 指定安装兼容版本
    安装 Huggingface Hub 的 0.25 版本(或更早版本):

    pip install huggingface_hub==0.25
    

    这样,你可以继续使用 cached_download 方法而不需要对源码进行改动。

  2. 验证安装版本
    安装完成后,检查是否正确安装了目标版本:

    pip show huggingface_hub
    

    输出示例:

    Name: huggingface-hub
    Version: 0.25.0
    
  3. 检查依赖冲突
    如果项目依赖的其他库(如 transformersdatasets)需要更高版本的 huggingface_hub,可能会出现依赖冲突。

    • 检查依赖:
      pip install huggingface_hub==0.25 --no-deps
      
    • 手动安装其他依赖版本,确保兼容性。
  4. 解决环境隔离问题
    为了避免影响其他项目,建议使用虚拟环境或 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 方法。这样,你可以不影响项目运行的前提下解决问题,同时为未来升级代码留下空间。