通过安装密钥访问VM中的Kaggle工具

时间:2020-03-14 16:24:01

标签: kaggle vagrant-provision

我正在尝试使用kaggle命令行工具,但在自己的vm中使用它时遇到了问题。我从网站上下载了API令牌,并将其放置在Windows上的/.kaggle/kaggle.json中。我的虚拟机已安装ubuntu,在Vagrant文​​件中,我具有以下内容:

config.vm.synced_folder ENV['HOME'] + "/.kaggle", "/home/ubuntu/.kaggle", mount_options: ['dmode=700,fmode=700']

config.vm.provision "shell", inline: <<-SHELL
  echo "export KAGGLE_CONFIG_DIR='/home/ubuntu/.kaggle/kaggle.json'" >> /etc/profile.d/myvar.sh
SHELL

在vm中运行env命令时,我看到它是正确的: KAGGLE_CONFIG_DIR = / home / ubuntu / .kaggle / kaggle.json

但是,当我尝试使用kaggle命令(例如kaggle -h)时,得到以下内容

(main) vagrant@dev:/home/ubuntu/.kaggle$ ls
kaggle.json
(main) vagrant@dev:/home/ubuntu/.kaggle$ kaggle -h
Traceback (most recent call last):
  File "/user/home/venvs/main/bin/kaggle", line 5, in <module>
    from kaggle.cli import main
  File "/user/home/venvs/main/lib/python3.7/site-packages/kaggle/__init__.py", line 23, in <module>
    api.authenticate()
  File "/user/home/venvs/main/lib/python3.7/site-packages/kaggle/api/kaggle_api_extended.py", line 149, in authenticate
    self.config_file, self.config_dir))
OSError: Could not find kaggle.json. Make sure it's located in /home/ubuntu/.kaggle/kaggle.json. Or use the environment method.

所有路径均正确,并且文件应在该位置查找。有人知道这个问题可能是什么吗?是因为已经安装了吗?

1 个答案:

答案 0 :(得分:0)

好的,我误读了指令:“您可以定义一个shell环境变量KAGGLE_CONFIG_DIR来将该位置更改为$ KAGGLE_CONFIG_DIR / kaggle.json”

因此,env变量应为/home/ubuntu/.kaggle/而不是/home/ubuntu/.kaggle/kaggle.json。