プログラミング
記事内に商品プロモーションを含む場合があります

Kaggle|オフラインでパッケージをインストールする方法

tadanori

はじめに

コードを提出するコンペの場合、インターネット接続がOFFでないとサブミッションできないことが多いと思います(これまで参加したコンテストで、インターネット接続ONでサブできたものはなかったです)。

この時問題になるのが、「オフラインのノートブックで、パッケージをどうやってインストールするか」です。

この記事では、私が使っている方法を紹介したいと思います。

① PypIを利用する

Python Package Index(PyPI)は、プログラミング言語Python用のソフトウェアのリポジトリで、パッケージを管理・配布しているサイトです。

PyPIのホームページ: https://pypi.org/

ページを開くと、以下のような画面が現れます。

PypIのホームーページ
出典:https://pypi.org/

ここでパッケージを検索します。例えばnumpyを検索するとnumpyを含むパッケージの一覧が表示されます。ここで、一番上のやつを選択すると(記事執筆時点ではnumpy 1.26.0)、以下のような画面になります。

numpyの画面

この画面で、左側のメニューから「ファイルをダウンロード」をクリックすると、ダウンロードできるファイルの一覧に移動します。whlがある場合は、適当なwhlをダウンロードし、kaggleのデータセットを作成してアップロードします。

あとは、kaggle notebookのInputにデータセットを追加して、以下のような感じでインストールできます。

!pip install /kaggle/input/データセット名/パッケージ名.whl

② Kaggle notebookを利用する

PypIからダウンロードしたものをうまくインストールできない場合があります。

その場合は、こちらの手順も試しています。これまでのところ、どちらかの方法でインストールできています。

手順1:インターネット接続可能なkaggle notebookを作成

インターネット接続可能なノートブックを作成して、以下のコードを記述します

!pip install パッケージ名
!pip download -d /kaggle/working/ パッケージ名

このノートブックを実行するとoutputフォルダにインストール可能なパッケージが格納されます。

/kaggle/working/とパッケージ名の間にはスペースがあります

複数のパッケージを利用したい場合は、install/downloadを複数個書いて、必要なパッケージをまとめて1つのノートブックで準備することもできます。

ここで作成したnotebookを利用して、パッケージをインストールします。

手順2:パッケージを利用するkaggle notebook側の手順

上の手順で作成したノートブックをパッケージをインポートしたいkaggle notebookのInputに作成したnotebookをデータセットとして追加します(AddのYour notebooksを使うか、URL入力で設定)。

Inputに追加した後は、以下のようにすればパッケージをインストールできます。

!pip install /kaggle/input/データセット名/パッケージ名

利用する時のパッケージ名は、拡張子の.whlまで含めたものになります。ダウンロードされたパッケージ名を確認して、バージョンを含め指定してください。

まとめ

以上、kaggleでインターネット接続なしでパッケージを利用する方法を説明しました。

コンテストでパッケージをインストールする場合に重宝するテクニックなので覚えておいて損はないと思います。

おすすめ書籍

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

記事URLをコピーしました