【问题标题】:Kaggle API in colab datasets `!kaggle datasets list` errorcolab 数据集中的 Kaggle API `!kaggle datasets list` 错误
【发布时间】:2020-04-14 04:30:41
【问题描述】:

我有一个问题,当我尝试在 google colab 中列出 kaggles 数据集时,我不明白这个错误。

笔记本配置:Python 3.x,没有 hdw acc。

#to upload my kaggle token
from google.colab import files
files.upload()

#setting up the token
!pip install --upgrade kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json

#and taking a look at datasets
!kaggle datasets list

Traceback (most recent call last):
      File "/usr/local/bin/kaggle", line 8, in <module>
        sys.exit(main())
      File "/usr/local/lib/python3.6/dist-packages/kaggle/cli.py", line 51, in main
        out = args.func(**command_args)
      File "/usr/local/lib/python3.6/dist-packages/kaggle/api/kaggle_api_extended.py", line 940, in dataset_list_cli
        max_size, min_size)
      File "/usr/local/lib/python3.6/dist-packages/kaggle/api/kaggle_api_extended.py", line 905, in dataset_list
        return [Dataset(d) for d in datasets_list_result]
      File "/usr/local/lib/python3.6/dist-packages/kaggle/api/kaggle_api_extended.py", line 905, in <listcomp>
        return [Dataset(d) for d in datasets_list_result]
      File "/usr/local/lib/python3.6/dist-packages/kaggle/models/kaggle_models_extended.py", line 67, in __init__
        self.size = File.get_size(self.totalBytes)
      File "/usr/local/lib/python3.6/dist-packages/kaggle/models/kaggle_models_extended.py", line 107, in get_size
        while size >= 1024 and suffix_index < 4:
    TypeError: '>=' not supported between instances of 'NoneType' and 'int'

嗯,我想了解发生了什么,以及如何解决它。提前致谢。

喷气机。

【问题讨论】:

    标签: list dataset kaggle


    【解决方案1】:

    我也遇到了这个问题。我注意到如果我设置使用这个调用

    kaggle datasets list --min-size 1
    

    它会起作用的。请注意,您将需要版本 1.5.6。我在 Colab 实例上安装了 1.5.4,但该版本不支持该论点。

    问题似乎是bigquery/crypto-litecoin 没有数据。因此,看起来totalBytesDataset 中是None

    我在 github 上打开了一个问题,并将创建一个 PR。如果您想临时解决,可以从我的 fork 中获取file。您可以使用回溯来确定将文件放在哪里。或者,也可以直接使用--min-size 1,这样当没有数据文件时它会忽略大小写。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。

      1. 生成 Kaggle JSON API 文件。在右上角的 Widget/Icon -> 点击“Account” -> 向下滚动到“API”小节,点击“Expire API Token” -> 点击“Create New API Token”
      2. 在 Google Colab 中。 上传你的json文件
      3. 运行以下代码:

      #first upload kaggle api file "kaggle.json" import os #this path contains the json file os.environ['KAGGLE_CONFIG_DIR'] = "/content"

      #Find the competition or Dataset under Data. Like this: !kaggle competitions download -c jane-street-market-prediction

      在我多次将头撞在墙上之后,这对我有用。

      如果您仍然遇到错误,您可能需要关联您的 Colab 和 Kaggle 帐户。您可以在 kaggle 的帐户设置部分执行此操作。

      【讨论】:

        猜你喜欢
        • 2018-08-24
        • 2019-01-28
        • 2020-04-28
        • 2020-05-31
        • 2021-08-15
        • 2020-09-04
        • 2021-01-04
        • 1970-01-01
        • 2018-12-18
        相关资源
        最近更新 更多