「なぜか動かない…」
ゲーム感覚で面白そう!とワクワクしながら、Kaggleの新シーズンで始まった農業シミュレーションコンペ「Kaggriculture」。
公式チュートリアルを参考にローカル環境でテストを動かしてみました。
ところが、動かない。
Unknown Environment Specification……なんだこれは?
「公式の手順通りにやっているのに、なぜ?」
しかも、これだけでは終わりませんでした。
Gitがない。
Pythonのバージョンが合わない。
Condaでもうまくいかない。
ファイルを手動で置いたら、今度は循環インポート。
「Kaggricultureをやりたいだけなのに……」
コンペを始める前から、次々とモチベーションの敵というか、壁が出現(笑)。
この記事では、私がKaggricultureをローカル環境で動かすまでに遭遇した4つの壁(エラー)と、最終的にたどり着いた解決方法をまとめます。
「Kaggricultureを始めたいのに、環境構築で止まってしまった」
そんな方の参考になれば嬉しいです。
遭遇した4つの壁(エラーの原因)
Unknown Environment Specification エラー
- 原因: 通常の
pip install kaggle-environmentsでインストールされるパッケージには、始まったばかりの新しいコンペ(Kaggriculture)の環境定義(シミュレータ)がまだ含まれていないため、Pythonがゲームの種類を認識できなかった。
git コマンドが見つからないエラー
- 原因: 公式ドキュメントにある
pip install git+https://...を実行しようとしたが、PCにgitがインストールされておらず、「指定されたファイルが見つからない」というエラーで止まってしまった。
Pythonのバージョン要件(>=3.11)とConda環境の罠
- 原因: GitHubから直接最新版を入れようとした際、パッケージが要求するPythonのバージョンが 3.11以上 であるのに対し、手元の環境が
3.10.9だったため拒否された。仮想環境(Conda)を新しく作ろうとしても、コマンドの実行場所やパスでさらにハマってしまった。
手動配置による「循環インポート(Circular Import)」
- 原因: 「じゃあ必要なファイルをネットからダウンロードして手動で置けばいいや」と適当なフォルダ(
site-packagesや重複フォルダ)に突っ込んだところ、ファイルの依存関係が崩れてcannot import name 'ANIMALS'のような循環インポートエラーを引き起こしてしまった。
最終的にたどり着いた「一番ラクで確実な解決策」
色々な試行錯誤の末、Pythonのバージョン制限や難しいコマンド、システムの深い階層へのインストールをすべて回避し、プロジェクトフォルダに直接同梱してしまう方法 が最も確実だと分かりました。
手順まとめ
- GitHubから最新ソースを取得する
- 公式のGitHubリポジトリ(
)から、最新のコードをZIP((https://github.com/Kaggle/kaggle-environments)
GitHub - Kaggle/kaggle-environmentsContribute to Kaggle/kaggle-environments development by creating an account on GitHub.master.zip)でダウンロードし、解凍する。
- 公式のGitHubリポジトリ(
- 必要なフォルダだけを取り出す
- 解凍して出てきた中から、
kaggle_environmentsフォルダ(ゲームのシステム本体が入っているフォルダ)をコピーする。
- 解凍して出てきた中から、
- 作業用フォルダの直下に置く
- 自分が今作業しているデスクトップ等のプロジェクトフォルダ(
run_test.pyがある場所)のすぐ隣に、そのkaggle_environmentsフォルダをそのまま貼り付ける。
- 自分が今作業しているデスクトップ等のプロジェクトフォルダ(
- テストを実行する
- ターミナル(またはAnaconda Prompt)で作業フォルダに移動し、以下のコマンドを実行する。
DOSpython run_test.py
- ターミナル(またはAnaconda Prompt)で作業フォルダに移動し、以下のコマンドを実行する。
これだけで、バージョン違いのエラーも、システムのパス迷子もすべてキレイに回避でき、一発で「環境の読み込み成功!」とテストが走り出します。
まとめ
今回のKaggricultureでは、単純にPythonコードを書くだけではなく、最初の環境構築でかなり苦戦しました。
特に、
Unknown Environment Specificationgitコマンドが見つからない- Python 3.11以上というバージョン要件
- Conda環境の作成
- 手動コピーによるCircular Import
など、いくつもの問題に遭遇しました。
最終的に私の環境では、GitやCondaの設定を深く変更するよりも、Kaggle Environmentsのソースコードをプロジェクトフォルダ内に配置する方法が一番スムーズでした。
ただし、Kaggle Environmentsは現在も更新されているため、この記事の方法が将来もそのまま使えるとは限りません。
この記事で一番伝えたかったのは、
「エラーが出たからといって、Pythonそのものが難しいとは限らない」
ということです。
Kaggleのような新しい環境では、コードを書く前の「環境構築」でつまずくことがあります。
そんなときは、エラーメッセージを一つずつ確認して、
「Pythonの問題なのか」
「パッケージの問題なのか」
「バージョンの問題なのか」
「ファイルの配置の問題なのか」
を切り分けていくことが大切だと感じました。
Kaggricultureにこれから参加する方や、同じエラーで止まっている方の参考になれば嬉しいです。


