Python包下载问题 huggingface_hub\utils\_validators.py:206: UserWarning: The `local_dir_use_symlinks`
·
现在这个报错,本质是 Bert-VITS2 在启动时自动从 HuggingFace 下载日文 DeBERTa 模型,但国内连 huggingface.co 超时。
D:\Code\Github\Bert-VITS2\.venv\Lib\site-packages\huggingface_hub\utils\_validators.py:206: UserWarning: The `local_dir_use_symlinks` argument is deprecated and ignored in `hf_hub_download`. Downloading to a local directory does not use symlinks anymore.
warnings.warn(
'[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。' thrown while requesting HEAD https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm/resolve/main/pytorch_model.bin
| huggingface_hub.utils._http | WARNING | '[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。' thrown while requesting HEAD https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm/resolve/main/pytorch_model.bin
Retrying in 1s [Retry 1/5].
| huggingface_hub.utils._http | WARNING | Retrying in 1s [Retry 1/5].
......
解决思路有两个:
- 让 Python 自动走国内镜像下载(推荐,一劳永逸)
- 手动从镜像下载好模型,放到本地缓存,以后就不联网了。
下面是一个可以直接照做的步骤。
一句话结论
在 Windows 上先设置一个环境变量 HF_ENDPOINT,让 huggingface_hub 自动从国内镜像站 https://hf-mirror.com 下载模型,然后再跑 webui.py,就不会再卡在 ku-nlp/deberta-v2-large-japanese-char-wwm 这个请求上了。
方案一:让 Python 自动用镜像站(推荐)
1. 在当前终端里临时设置环境变量
你现在是用:
C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py
可以在同一个 PowerShell / cmd 里先执行:
# PowerShell
$env:HF_ENDPOINT = "https://hf-mirror.com"
然后再运行你的启动命令:
C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py
这样所有 huggingface_hub 的请求都会自动走镜像站,不会再连 huggingface.co。
2. 想一劳永逸:写入系统环境变量(永久生效)
如果你不想每次开终端都敲 $env:HF_ENDPOINT,可以把它永久写进用户环境变量:
- Win + R → 输入
SystemPropertiesAdvanced→ 回车。 - 点击“环境变量”。
- 在“用户变量”里,点击“新建”:
- 变量名:
HF_ENDPOINT - 变量值:
https://hf-mirror.com
- 变量名:
- 一路确定,关闭所有窗口。
- 重新打开一个终端,跑你的
webui.py命令。
这样以后所有使用huggingface_hub/transformers的项目都会默认走镜像站。
方案二:手动从镜像下载模型到本地缓存
如果你这台机器完全不能连外网,也可以在能上网的机器上把模型下好,再拷贝过来。
1. 在有网的机器上用镜像下载
在有网的机器上(比如你自己平时开发的那台):
# 1. 设置镜像
$env:HF_ENDPOINT = "https://hf-mirror.com"
# 2. 安装 huggingface_hub(如果没有)
pip install -U huggingface_hub
# 3. 下载指定模型到当前目录
huggingface-cli download --resume-download ku-nlp/deberta-v2-large-japanese-char-wwm --local-dir deberta-v2-large-japanese-char-wwm
这会在当前目录生成一个 deberta-v2-large-japanese-char-wwm 文件夹,里面就是所有模型文件。
2. 把模型放到离线机器的 HuggingFace 缓存目录
huggingface_hub 默认缓存路径是:
- 类 Unix:
~/.cache/huggingface/hub - Windows:
C:\Users\<你的用户名>\.cache\huggingface\hub
假设你在离线机器上的缓存目录是:
C:\Users\TianFeng\.cache\huggingface\hub
你需要把刚才下载的模型文件夹拷贝成这个结构:
C:\Users\TianFeng\.cache\huggingface\hub\models--ku-nlp--deberta-v2-large-japanese-char-wwm\...
更具体的结构大致是:
C:\Users\TianFeng\.cache\huggingface\hub\
└── models--ku-nlp--deberta-v2-large-japanese-char-wwm\
├── blobs\
├── refs\
└── snapshots\
└── <某个提交哈希>\
└── pytorch_model.bin
huggingface-cli download 生成的是可直接作为缓存的目录结构,你只要保证:
- 缓存根目录是
C:\Users\TianFeng\.cache\huggingface\hub; - 模型目录名是
models--ku-nlp--deberta-v2-large-japanese-char-wwm。
这样本地运行时,transformers/huggingface_hub会直接从缓存加载,不会再发网络请求。
小结:推荐做法
最终建议:
- 先用方案一:设置
HF_ENDPOINT镜像,直接在当前终端跑:$env:HF_ENDPOINT = "https://hf-mirror.com" C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py - 如果公司/学校网络策略很严,镜像也连不上,再用 方案二:在能上网的机器上下载模型 → 拷贝到离线机器的缓存目录。
更多推荐
所有评论(0)