You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 8.1下用curl下载YouTube-8M数据集报错求助

解决YouTube-8M数据集下载的命令报错问题

看起来你是在Windows环境下尝试下载YouTube-8M数据集,遇到了跨平台命令兼容的常见问题,我来帮你梳理正确的解决方式:

第一个报错的原因

官方给出的命令是针对Linux/macOS的bash/zsh等类Unix shell设计的,这种shard=1,100 python ...的写法是在执行python命令前临时设置环境变量,而Windows的命令提示符(cmd)不支持这种语法,所以会把shard当成未知命令报错。

第二个报错的原因

你尝试用set命令设置变量后直接管道给python,问题在于cmd里的set命令本身会输出当前会话的所有环境变量,这些额外输出会混入curl下载的脚本内容中,导致python无法正确解析脚本,从而出现(23) Failed writing body的错误。

正确的下载命令

根据你使用的操作系统环境,选择对应的命令:

1. Linux/macOS(bash/zsh)

直接使用官方提供的命令即可,这类环境原生支持前置环境变量的写法:

curl storage.googleapis.com/data.yt8m.org/download_fix.py | shard=1,100 partition=2/frame/train mirror=us python

2. Windows 命令提示符(cmd)

先单独设置环境变量,再执行下载命令(分多行更清晰):

set shard=1,100
set partition=2/frame/train
set mirror=us
curl storage.googleapis.com/data.yt8m.org/download_fix.py | python

如果要写成一行,用&&连接命令:

set shard=1,100 && set partition=2/frame/train && set mirror=us && curl storage.googleapis.com/data.yt8m.org/download_fix.py | python

3. Windows PowerShell

PowerShell的环境变量设置语法不同,用$env:前缀:

$env:shard="1,100"; $env:partition="2/frame/train"; $env:mirror="us"; curl storage.googleapis.com/data.yt8m.org/download_fix.py | python

额外提示

如果还是出现下载失败的情况,可以尝试更换镜像节点,比如把mirror=us换成mirror=eu(欧洲节点)或者mirror=asia(亚洲节点),有时候区域镜像的网络稳定性会更好。

内容的提问来源于stack exchange,提问作者5Volts

火山引擎 最新活动