【Kaggriculture】Pythonでローカル実行する方法|環境構築でハマった4つのエラーを解決

Python

「なぜか動かない…」

ゲーム感覚で面白そう!とワクワクしながら、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のバージョン制限や難しいコマンド、システムの深い階層へのインストールをすべて回避し、プロジェクトフォルダに直接同梱してしまう方法 が最も確実だと分かりました。

手順まとめ

  1. GitHubから最新ソースを取得する
  2. 必要なフォルダだけを取り出す
    • 解凍して出てきた中から、kaggle_environments フォルダ(ゲームのシステム本体が入っているフォルダ)をコピーする。
  3. 作業用フォルダの直下に置く
    • 自分が今作業しているデスクトップ等のプロジェクトフォルダ(run_test.py がある場所)のすぐ隣に、その kaggle_environments フォルダをそのまま貼り付ける。
  4. テストを実行する
    • ターミナル(またはAnaconda Prompt)で作業フォルダに移動し、以下のコマンドを実行する。
      DOSpython run_test.py

これだけで、バージョン違いのエラーも、システムのパス迷子もすべてキレイに回避でき、一発で「環境の読み込み成功!」とテストが走り出します。

まとめ

今回のKaggricultureでは、単純にPythonコードを書くだけではなく、最初の環境構築でかなり苦戦しました。

特に、

  • Unknown Environment Specification
  • git コマンドが見つからない
  • Python 3.11以上というバージョン要件
  • Conda環境の作成
  • 手動コピーによるCircular Import

など、いくつもの問題に遭遇しました。

最終的に私の環境では、GitやCondaの設定を深く変更するよりも、Kaggle Environmentsのソースコードをプロジェクトフォルダ内に配置する方法が一番スムーズでした。

ただし、Kaggle Environmentsは現在も更新されているため、この記事の方法が将来もそのまま使えるとは限りません。

この記事で一番伝えたかったのは、

「エラーが出たからといって、Pythonそのものが難しいとは限らない」

ということです。

Kaggleのような新しい環境では、コードを書く前の「環境構築」でつまずくことがあります。

そんなときは、エラーメッセージを一つずつ確認して、

「Pythonの問題なのか」
「パッケージの問題なのか」
「バージョンの問題なのか」
「ファイルの配置の問題なのか」

を切り分けていくことが大切だと感じました。

Kaggricultureにこれから参加する方や、同じエラーで止まっている方の参考になれば嬉しいです。

タイトルとURLをコピーしました