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

Accessing Kaggle tools in VM by mounting key

我正在尝试使用 kaggle 命令行工具,但我 运行 遇到了在我自己的虚拟机中使用它的问题。我从站点下载了 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

当 运行 虚拟机中的 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.

路径都是正确的,文件就在它应该寻找的地方。任何人都知道问题可能是什么?是因为挂载了吗?

好的,我看错了说明:"You can define a shell environment variable KAGGLE_CONFIG_DIR to change this location to $KAGGLE_CONFIG_DIR/kaggle.json"

所以环境变量应该是 /home/ubuntu/.kaggle/ 而不是 /home/ubuntu/.kaggle/kaggle.json.