使用OIDv4脚本下载YOLOv3标注图片时遇aws命令未识别错误
解决OIDv4_ToolKit下载数据集时'aws'命令找不到的问题
问题分析
OIDv4_ToolKit依赖AWS CLI工具从Open Image Dataset拉取数据,你遇到的错误是因为系统找不到aws可执行文件——你添加的site-packages/awscli是Python包的代码目录,并非存放aws命令的可执行文件路径。
解决方案
确认AWS CLI安装状态
打开终端执行以下命令,确保AWS CLI已正确安装:pip install awscli若提示已安装,可重新安装修复可能的损坏:
pip install --force-reinstall awscli定位Python的Scripts目录
针对你的Python 3.10环境,aws命令的实际存放路径应为:C:\Users\lingy\AppData\Local\Programs\Python\Python310\Scripts注:路径是
AppData\Local而非AppData\Roaming,Scripts目录是Python专门存放可执行命令的位置。添加到系统环境变量PATH
- 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
- 在系统变量的
Path列表中添加上述Scripts路径 - 保存设置后重启VS Code或所有终端窗口,让环境变量生效
验证aws命令
新开终端执行:aws --version若输出类似
aws-cli/1.29.xx Python/3.10.4 Windows/10的版本信息,说明配置成功。重新运行下载命令
再次执行你的数据集下载指令:py main.py downloader --classes 'Clothing' 'Hat' 'Suit' 'Swimwear' 'Trousers' --type_csv test --limit 200
临时替代方案(若环境变量配置失败)
如果暂时无法修改环境变量,可直接修改OIDv4_ToolKit的代码适配:找到modules/downloader.py中调用aws的代码段,将aws替换为py -m awscli,示例如下:
# 原调用代码示例 subprocess.run(["aws", "s3", "cp", ...]) # 修改后 subprocess.run(["py", "-m", "awscli", "s3", "cp", ...])
内容的提问来源于stack exchange,提问作者lingyau lee
相关产品推荐
相关产品推荐

