LoginSignup
3
2

More than 1 year has passed since last update.

kaggle: command not found

Last updated at Posted at 2021-12-01

はじめに

csvファイルのデータセットをkaggleからダウンロードするのに,kaggleコマンドをubuntuにインストールしました.

その際,kaggle: command not found が生じてしまいましたので忘備録として残しておきます.

なお,少しでもお役に立てれば嬉しい限りです.

設定環境

WSL(Windows Subsystem for Linux)のubuntu18.04上にて行いました.
なお,kaggleにユーザー登録済みとします.

通常通りWSLにkaggleコマンドをインストール

まず普通にWSL上にkaggleコマンドをインストールします.

Github上のKaggle APIにあるREAD.ME通りに進めました.

kaggle: command not found 発生時まで手順を追っていきます.

1. kaggleをpipでインストール

まず以下のこれらのコマンドを入力しました.

pip3 install --user kaggle
python3 -m pip install kaggle

その後 kaggle --version と入力しましたが,kaggle: command not found が発生しました.

失敗です.

2. kaggle.jsonをkaggleからダウンロードし,~/.kaggle/kaggle.jsonへ設置

右上のアイコンをクリックして,kaggleのマイページに行きます.

下の画像にある,API中の"Create New API Token"を押して,kaggle.jsonをダウンロードします.

kaggle_top

その後,WSLのホームディレクトリに.kaggleファイルを作成し,その下にkaggle.jsonを移しました(~/.kaggle/kaggle.jsonとなるようにしました).

そして,以下のコマンドでパーミッションを所有者のみ読み書き可能にしました.

chmod 600 ~/.kaggle/kaggle.json

その後 kaggle --version と入力しましたが,kaggle: command not found が発生しました.

2度目の失敗です.

3. ~/.local/binにパズが通っているか確認

Github上のKaggle APIにあるREAD.MEを見てみますと,以下の文言が書かれていることが分かります.

kaggle_top

"If you run into a kaggle: command not found ~ "の部分に注目.

要約すると,pip uninstall kaggleでkaggleのアンインストールの途中で,~/.local/binにパズが通っているか確認してくださいということです.

なお,実際の画面はこのような感じでした(pipのバージョンについて言っておりますが,WARNINGは気にしないで下さい).

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Found existing installation: kaggle 1.5.12
Uninstalling kaggle-1.5.12:
  Would remove:
    /home/ユーザー名/.local/bin/kaggle
    /home/ユーザー名/.local/lib/python3.8/site-packages/kaggle-1.5.12.dist-info/*
    /home/ユーザー名/.local/lib/python3.8/site-packages/kaggle/*
Proceed (Y/n)? 

Would remove:の下に/home/ユーザー名/.local/bin/kaggleとあるので,一応パズは通っていることが分かります.

もし通っていなければ,以下のコマンドを入力してパズの追加と確認を行ってください.

export PATH=".local/bin/"
echo $PATH

そしてもう一度 1. からインストールをし直すことをお勧めします.

~/.local/binにパズが通っているので,この状態で kaggle --version と入力します.

すると,

kaggle: command not found が発生しました.

3度目の失敗です.

4. シンボリックリンクの作成

Kaggle APIに書かれていることは一通りに行いましたが,解決できなかったので,必死に探しました.

そしてついに以下のサイトにたどり着きました.


'pip install kaggle' works fine - but 'kg command not found', StackOverflow

https://stackoverflow.com/questions/48370064/pip-install-kaggle-works-fine-but-kg-command-not-found/49398939

該当箇所を引用します.

I located the Kaggle executable in ~/.local/bin/kaggle and solved it creating a symbolic link to /usr/bin

ln -s ~/.local/bin/kaggle /usr/bin/kaggle

lnでファイルのリンクを作成することができます.

特に今回はln -sでシンボリックリンクが作成できます.

ln -s pathA pathBで,pathBにpathAのシンボリックリンクを作成するという意味になります.

上記の通り, /usr/bin/kaggle~/.local/bin/kaggleのシンボリックリンクを作成しなければならないので,以下の通りにコマンドを入力しました.

sudo ln -s ~/.local/bin/kaggle /usr/bin/kaggle

その後 kaggle --version と入力しました.

すると,

$ kaggle --version
Kaggle API 1.5.12

と表示されたので,成功していることが分かります.

Congratulations:tada:

おわりに

ご清聴ありがとうございました.

少しでもお役に立てれば嬉しい限りです.

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2