如何解决VSCode Jupyter中下载Kaggle数据集时循环提示输入用户名问题
解决VSCode Jupyter中opendatasets拉取Kaggle数据集循环提示输入用户名问题
该问题出现的核心原因是opendatasets的交互输入逻辑与VSCode的Jupyter运行环境不兼容,无法正常捕获你在单元格输出区域的输入内容,所以会无限重复触发用户名输入提示。可以通过以下三种方案解决:
方案1:提前放置kaggle.json凭证文件(最推荐)
- 登录Kaggle账号,进入个人设置页面,下拉找到API板块,点击
Create New API Token即可生成并下载kaggle.json文件,该文件包含你的用户名和专属API密钥 - 将下载好的
kaggle.json文件放在两个路径中的任意一个即可:- 当前Jupyter notebook文件所在的工作根目录
- 系统用户目录下的
.kaggle文件夹:Windows路径为C:\Users\<你的系统用户名>\.kaggle,macOS/Linux路径为~/.kaggle
- 重新运行
opendatasets.download()代码,工具会自动读取文件中的凭证,不会再弹出输入提示
方案2:代码中直接传入凭证参数
如果不想单独放凭证文件,可以直接在调用下载方法时传入用户名和密钥,跳过交互步骤,代码示例如下:
import opendatasets as od dataset_url = "https://www.kaggle.com/c/rossmann-store-sales" od.download( dataset_url, username = "替换为你的Kaggle用户名", key = "替换为你的Kaggle API密钥" )
注意:该方案需要妥善保管你的代码,不要将包含明文密钥的代码上传到公开代码仓库,避免凭证泄露
方案3:使用VSCode专属输入弹窗
运行下载代码后注意查看VSCode顶部区域,会弹出专门的输入框提示你输入用户名和密钥,不要在单元格的输出区域尝试输入,在顶部弹出的输入框中依次填入信息即可完成验证。
内容的提问来源于stack exchange,提问作者Akash Kumar
相关产品推荐
相关产品推荐

