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

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

Aru

Kaggleのコンペでは、インストールさせれていないパッケージを利用したい場合、インターネット環境への接続が制限されている状況でパッケージをインストール必要があります。この記事では、オフライン環境でパッケージをインストールする具体的な手順を解説します。

はじめに

コードを提出するコンペの場合、インターネット接続が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でインターネット接続なしでパッケージを利用する方法を説明しました。

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

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

ABOUT ME
ある/Aru
ある/Aru
IT&機械学習エンジニア/ファイナンシャルプランナー(CFP®)
専門分野は並列処理・画像処理・機械学習・ディープラーニング。プログラミング言語はC, C++, Go, Pythonを中心として色々利用。現在は、Kaggle, 競プロなどをしながら悠々自適に活動中
記事URLをコピーしました