colab数据集中的Kaggle API`!kaggle数据集列表`错误

时间:2019-12-22 16:18:15

标签: list dataset kaggle

尝试在google colab中列出kaggles数据集时遇到问题,我不明白此错误。

笔记本配置:Python 3.x,不支持hdw

#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'

好吧,我想了解发生了什么以及如何解决。先谢谢了。

喷射。

3 个答案:

答案 0 :(得分:3)

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

kaggle datasets list --min-size 1

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

问题似乎是bigquery/crypto-litecoin没有数据。因此,totalBytes中的None似乎是Dataset

我在github上打开了一个问题,并将创建一个PR。如果您想暂时解决问题,可以从我的叉子上拿file。您可以使用回溯来确定将文件放置在何处。或者,只需使用--min-size 1,这样在没有数据文件时它将忽略这种情况。

答案 1 :(得分:0)

来自google.colab导入驱动器 drive.mount('/ content / drive')

从google.colab导入文件 files.upload()

!pip卸载-y kaggle !pip install-升级pip !pip install kaggle == 1.5.6 !kaggle -v

!kaggle --version

!mkdir -p〜/ .kaggle !cp kaggle.json〜/ .kaggle

!kaggle数据集列表

它向我显示了与他相同的错误!

enter image description here

答案 2 :(得分:0)

我遇到了同样的问题。

  1. 生成Kaggle JSON API文件。在右上角的窗口小部件/图标上->单击“帐户”->向下滚动到“ API”小节,单击“过期API令牌”->单击“创建新的API令牌”
  2. 在Google Colab中。 enter image description here上传您的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的帐户设置部分中执行此操作。