You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

手动认证Kaggle API下载数据集:Azure存放json失效问题求解

问题根源

你写的手动配置代码存在3个核心问题:

  • read_config_environment 方法仅会返回处理后的配置字典,不会将认证信息存储到API实例内部,你调用该方法时没有接收返回值,后续authenticate执行时完全用不到你传入的账号密钥。
  • 修改实例的CONFIG_NAME_USER、CONFIG_NAME_KEY属性没有任何作用,这两个是KaggleApi类的内置常量,判断配置是否存在时调用的是类的原始常量值,且默认值本身就是username和key,不需要额外修改。
  • 你没有把手动构造的配置字典接入authenticate的认证流程,默认流程还是会优先读取本地配置文件,找不到就抛出你遇到的IO错误。
可行的修改方案

提供两种适配无本地配置文件场景的方案:

方案1:设置临时环境变量(适配性最高,推荐)

在导入kaggle库前先设置系统环境变量,完全走官方原生认证逻辑,不需要修改API内部属性,Azure环境可正常运行:

import os
# 替换为你自己的Kaggle用户名和密钥
os.environ['KAGGLE_USERNAME'] = 'abc'
os.environ['KAGGLE_KEY'] = 'xyz'
import kaggle

api = kaggle.KaggleApi()
api.authenticate()
# 下载对应数据集
api.competition_download_files('dataset_name')

方案2:手动注入配置字典

如果不想在环境变量中留存认证信息,可以直接给API实例的配置属性赋值,跳过读环境变量和本地文件的步骤:

import kaggle

api = kaggle.KaggleApi()
# 直接写入配置信息
api.config_data = {
    api.CONFIG_NAME_USER: 'abc',
    api.CONFIG_NAME_KEY: 'xyz'
}
api.authenticate()
# 下载对应数据集
api.competition_download_files('dataset_name')

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:54:09