Gymnasiumの公式のドキュメントを元に、トップページに掲載されているサンプルプログラムを実行する。Gymnasiumには実行環境をインストールコマンドで選択し、インストールできる。トップページに掲載されているサンプルプログラムの場合、Box2d環境を用いて実装されている。そこでBox2d環境を準備する。
この環境はswigコマンドが存在する事を期待している。そこでまずswigをインストールする。
swigをインストールする。 次にインストールオプション付きでGymnasiumをインストールする。PyGameにも依存しているが、PyGameは自動的にインストールされる。
pip install gymnasium[ box2d]
Requirement already satisfied: gymnasium[box2d] in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (0.29.1)
Requirement already satisfied: numpy>=1.21.0 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (1.26.1)
Requirement already satisfied: cloudpickle>=1.2.0 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (3.0.0)
Requirement already satisfied: typing-extensions>=4.3.0 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (4.8.0)
Requirement already satisfied: farama-notifications>=0.0.1 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (0.0.4)
Requirement already satisfied: box2d-py==2.3.5 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (2.3.5)
Requirement already satisfied: pygame>=2.1.3 in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (2.5.2)
Requirement already satisfied: swig==4.* in /private/var/ng/python-venv/py312/lib/python3.12/site-packages (from gymnasium[box2d]) (4.1.1)
Gymnasiumをインストールする。 トップページに掲載されているサンプルプログラムをファイルに記述する。
import gymnasium as gym
env = gym.make("LunarLander-v2", render_mode="human")
observation, info = env.reset(seed=42)
for _ in range(1000):
action = env.action_space.sample() # this is where you would insert your policy
observation, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
observation, info = env.reset()
env.close()
実行する。
起動できた。