diff --git a/pyproject.toml b/pyproject.toml index fe48d090c0..01ee709f92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ dependencies = [ "pymongo", "loguru", "lightgbm", - "gym", + "gymnasium<=0.26.2", "cvxpy", "joblib", "matplotlib", diff --git a/qlib/rl/interpreter.py b/qlib/rl/interpreter.py index 5c9cc26c4e..8cb99800b4 100644 --- a/qlib/rl/interpreter.py +++ b/qlib/rl/interpreter.py @@ -5,9 +5,9 @@ from typing import Any, Generic, TypeVar -import gym +import gymnasium as gym import numpy as np -from gym import spaces +from gymnasium import spaces from qlib.typehint import final from .simulator import ActType, StateType diff --git a/qlib/rl/order_execution/interpreter.py b/qlib/rl/order_execution/interpreter.py index 01b0811530..5ab98a737a 100644 --- a/qlib/rl/order_execution/interpreter.py +++ b/qlib/rl/order_execution/interpreter.py @@ -8,7 +8,7 @@ import numpy as np import pandas as pd -from gym import spaces +from gymnasium import spaces from qlib.constant import EPS from qlib.rl.data.base import ProcessedDataProvider diff --git a/qlib/rl/order_execution/policy.py b/qlib/rl/order_execution/policy.py index a46b587aa1..53bc51ef2c 100644 --- a/qlib/rl/order_execution/policy.py +++ b/qlib/rl/order_execution/policy.py @@ -6,11 +6,11 @@ from pathlib import Path from typing import Any, Dict, Generator, Iterable, Optional, OrderedDict, Tuple, cast -import gym +import gymnasium as gym import numpy as np import torch import torch.nn as nn -from gym.spaces import Discrete +from gymnasium.spaces import Discrete from tianshou.data import Batch, ReplayBuffer, to_torch from tianshou.policy import BasePolicy, PPOPolicy, DQNPolicy diff --git a/qlib/rl/utils/env_wrapper.py b/qlib/rl/utils/env_wrapper.py index e863b709a1..51634b6e64 100644 --- a/qlib/rl/utils/env_wrapper.py +++ b/qlib/rl/utils/env_wrapper.py @@ -6,8 +6,8 @@ import weakref from typing import Any, Callable, cast, Dict, Generic, Iterable, Iterator, Optional, Tuple -import gym -from gym import Space +import gymnasium as gym +from gymnasium import Space from qlib.rl.aux_info import AuxiliaryInfoCollector from qlib.rl.interpreter import ActionInterpreter, ObsType, PolicyActType, StateInterpreter diff --git a/qlib/rl/utils/finite_env.py b/qlib/rl/utils/finite_env.py index 87f0900e16..a1faa4b23e 100644 --- a/qlib/rl/utils/finite_env.py +++ b/qlib/rl/utils/finite_env.py @@ -13,7 +13,7 @@ from contextlib import contextmanager from typing import Any, Callable, Dict, Generator, List, Optional, Set, Tuple, Type, Union, cast -import gym +import gymnasium as gym import numpy as np from tianshou.env import BaseVectorEnv, DummyVectorEnv, ShmemVectorEnv, SubprocVectorEnv diff --git a/scripts/collect_info.py b/scripts/collect_info.py index 9e7a6395ef..6cae858798 100644 --- a/scripts/collect_info.py +++ b/scripts/collect_info.py @@ -45,7 +45,7 @@ def qlib(self): "pymongo", "loguru", "lightgbm", - "gym", + "gymnasium", "cvxpy", "joblib", "matplotlib", diff --git a/tests/rl/test_finite_env.py b/tests/rl/test_finite_env.py index d6f2a2ec95..579ddcae96 100644 --- a/tests/rl/test_finite_env.py +++ b/tests/rl/test_finite_env.py @@ -3,7 +3,7 @@ from collections import Counter -import gym +import gymnasium as gym import numpy as np from tianshou.data import Batch, Collector from tianshou.policy import BasePolicy diff --git a/tests/rl/test_logger.py b/tests/rl/test_logger.py index e100e5046b..4429b58359 100644 --- a/tests/rl/test_logger.py +++ b/tests/rl/test_logger.py @@ -7,10 +7,10 @@ import re from typing import Any, Tuple -import gym +import gymnasium as gym import numpy as np import pandas as pd -from gym import spaces +from gymnasium import spaces from tianshou.data import Collector, Batch from tianshou.policy import BasePolicy diff --git a/tests/rl/test_trainer.py b/tests/rl/test_trainer.py index f842d9781b..e541c5c71d 100644 --- a/tests/rl/test_trainer.py +++ b/tests/rl/test_trainer.py @@ -7,7 +7,7 @@ import torch import torch.nn as nn -from gym import spaces +from gymnasium import spaces from tianshou.policy import PPOPolicy from qlib.config import C