Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【无法运行项目】setuptools无论怎么调整版本都无法正确支持安装gym、stable-baseline3 #41

Open
xiongqisong opened this issue Apr 21, 2023 · 8 comments

Comments

@xiongqisong
Copy link

使用的gym、stable-baseline3库由于setuptools库的问题一直无法安装,即便降低setuptools的版本也没用
Collecting stable-baselines3==1.7.0
Using cached stable_baselines3-1.7.0-py3-none-any.whl (171 kB)
Collecting gym==0.21 (from stable-baselines3==1.7.0)
Using cached gym-0.21.0.tar.gz (1.5 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

参考一下gym、setuptools的issue解决,无果:
DLR-RM/stable-baselines3#1324
openai/gym#3176

@xiongqisong
Copy link
Author

最终采用了这篇博客中提到的setuptools version解决了,正确version:63.2.0,大家可以调整尝试一下
https://www.cnblogs.com/huangshiyu13/p/17222706.html

@xiongqisong
Copy link
Author

建议大家还是遵循作者推荐的anaconda去安装依赖包,venv没办法正确安装所有的程序包,说明还存在兼容性问题,另外,如果在windows系统上运行,要注意将c++编译器升级到最新版本:https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170,然后就可以正常运行代码,训练模型了

@linkerlin
Copy link

我用pip来安装-r requirement.txt的时候遇到 gym-retro==0.8.0版本找不到的问题。

@linkerlin
Copy link

我用pip来安装-r requirement.txt的时候遇到 gym-retro==0.8.0版本找不到的问题。

python -m pip install gym-retro==0.8.0
ERROR: Could not find a version that satisfies the requirement gym-retro==0.8.0 (from versions: 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.6.0, 0.7.0, 0.7.1)
ERROR: No matching distribution found for gym-retro==0.8.0

@2sky-git
Copy link

我用pip来安装-r requirement.txt的时候遇到 gym-retro==0.8.0版本找不到的问题。

python -m pip install gym-retro==0.8.0 ERROR: Could not find a version that satisfies the requirement gym-retro==0.8.0 (from versions: 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.6.0, 0.7.0, 0.7.1) ERROR: No matching distribution found for gym-retro==0.8.0

根因:是因为当前的Python版本有问题,所以导致无法安装gym-retro==0.8.0
解决方法:
1)在命令行输入python -V,如果是Python 3.8.10则没问题;如果不是那自己就要分析原因,先把版本搞对
2)确定Python是3.8.10后,再次执行pip install gym-retro==0.8.0就可以了

@KissMyLady
Copy link

Ubuntu20 , windows10 安装 stable-baselines3==1.7.0 报错

已经安装上述大佬提出的解决方法, 安装setuptools指定的版本

pip install setuptools==63.2.0

系统环境 :
Ubuntu20 使用 python版本: 3.8.10
Windows10 使用 python版本 3.8.6

Ubuntu20 安装stable-baselines3==1.7.0 报错信息

Building wheels for collected packages: gym
  Building wheel for gym (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [481 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib
      creating build/lib/gym
      copying gym/version.py -> build/lib/gym
      copying gym/error.py -> build/lib/gym
      copying gym/core.py -> build/lib/gym
      copying gym/__init__.py -> build/lib/gym
      copying gym/logger.py -> build/lib/gym
      creating build/lib/gym/vector
      copying gym/vector/async_vector_env.py -> build/lib/gym/vector
      copying gym/vector/sync_vector_env.py -> build/lib/gym/vector
      copying gym/vector/vector_env.py -> build/lib/gym/vector
      copying gym/vector/__init__.py -> build/lib/gym/vector
      creating build/lib/gym/utils
      copying gym/utils/closer.py -> build/lib/gym/utils
      copying gym/utils/json_utils.py -> build/lib/gym/utils
      copying gym/utils/env_checker.py -> build/lib/gym/utils
      copying gym/utils/ezpickle.py -> build/lib/gym/utils
      copying gym/utils/play.py -> build/lib/gym/utils
      copying gym/utils/colorize.py -> build/lib/gym/utils
      copying gym/utils/atomic_write.py -> build/lib/gym/utils
      copying gym/utils/__init__.py -> build/lib/gym/utils
      copying gym/utils/seeding.py -> build/lib/gym/utils
      creating build/lib/gym/envs
      copying gym/envs/registration.py -> build/lib/gym/envs
      copying gym/envs/__init__.py -> build/lib/gym/envs
      creating build/lib/gym/spaces
      copying gym/spaces/tuple.py -> build/lib/gym/spaces
      copying gym/spaces/dict.py -> build/lib/gym/spaces
      copying gym/spaces/discrete.py -> build/lib/gym/spaces
      copying gym/spaces/multi_binary.py -> build/lib/gym/spaces
      copying gym/spaces/__init__.py -> build/lib/gym/spaces
      copying gym/spaces/space.py -> build/lib/gym/spaces
      copying gym/spaces/multi_discrete.py -> build/lib/gym/spaces
      copying gym/spaces/utils.py -> build/lib/gym/spaces
      copying gym/spaces/box.py -> build/lib/gym/spaces
      creating build/lib/gym/wrappers
      copying gym/wrappers/atari_preprocessing.py -> build/lib/gym/wrappers
      copying gym/wrappers/pixel_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/transform_reward.py -> build/lib/gym/wrappers
      copying gym/wrappers/monitor.py -> build/lib/gym/wrappers
      copying gym/wrappers/frame_stack.py -> build/lib/gym/wrappers
      copying gym/wrappers/filter_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/clip_action.py -> build/lib/gym/wrappers
      copying gym/wrappers/normalize.py -> build/lib/gym/wrappers
      copying gym/wrappers/time_limit.py -> build/lib/gym/wrappers
      copying gym/wrappers/order_enforcing.py -> build/lib/gym/wrappers
      copying gym/wrappers/gray_scale_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/time_aware_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/transform_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/rescale_action.py -> build/lib/gym/wrappers
      copying gym/wrappers/record_episode_statistics.py -> build/lib/gym/wrappers
      copying gym/wrappers/record_video.py -> build/lib/gym/wrappers
      copying gym/wrappers/__init__.py -> build/lib/gym/wrappers
      copying gym/wrappers/flatten_observation.py -> build/lib/gym/wrappers
      copying gym/wrappers/resize_observation.py -> build/lib/gym/wrappers
      creating build/lib/gym/vector/utils
      copying gym/vector/utils/numpy_utils.py -> build/lib/gym/vector/utils
      copying gym/vector/utils/misc.py -> build/lib/gym/vector/utils
      copying gym/vector/utils/shared_memory.py -> build/lib/gym/vector/utils
      copying gym/vector/utils/spaces.py -> build/lib/gym/vector/utils
      copying gym/vector/utils/__init__.py -> build/lib/gym/vector/utils
      creating build/lib/gym/envs/unittest
      copying gym/envs/unittest/cube_crash.py -> build/lib/gym/envs/unittest
      copying gym/envs/unittest/memorize_digits.py -> build/lib/gym/envs/unittest
      copying gym/envs/unittest/__init__.py -> build/lib/gym/envs/unittest
      creating build/lib/gym/envs/box2d
      copying gym/envs/box2d/lunar_lander.py -> build/lib/gym/envs/box2d
      copying gym/envs/box2d/bipedal_walker.py -> build/lib/gym/envs/box2d
      copying gym/envs/box2d/car_dynamics.py -> build/lib/gym/envs/box2d
      copying gym/envs/box2d/car_racing.py -> build/lib/gym/envs/box2d
      copying gym/envs/box2d/__init__.py -> build/lib/gym/envs/box2d
      creating build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/humanoidstandup.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/striker.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/half_cheetah_v3.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/mujoco_env.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/humanoid.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/ant.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/thrower.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/reacher.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/swimmer.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/inverted_double_pendulum.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/walker2d.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/swimmer_v3.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/inverted_pendulum.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/half_cheetah.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/humanoid_v3.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/pusher.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/hopper_v3.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/hopper.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/walker2d_v3.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/__init__.py -> build/lib/gym/envs/mujoco
      copying gym/envs/mujoco/ant_v3.py -> build/lib/gym/envs/mujoco
      creating build/lib/gym/envs/robotics
      copying gym/envs/robotics/rotations.py -> build/lib/gym/envs/robotics
      copying gym/envs/robotics/fetch_env.py -> build/lib/gym/envs/robotics
      copying gym/envs/robotics/__init__.py -> build/lib/gym/envs/robotics
      copying gym/envs/robotics/hand_env.py -> build/lib/gym/envs/robotics
      copying gym/envs/robotics/robot_env.py -> build/lib/gym/envs/robotics
      copying gym/envs/robotics/utils.py -> build/lib/gym/envs/robotics
      creating build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/rendering.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/acrobot.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/pendulum.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/continuous_mountain_car.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/cartpole.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/__init__.py -> build/lib/gym/envs/classic_control
      copying gym/envs/classic_control/mountain_car.py -> build/lib/gym/envs/classic_control
      creating build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/frozen_lake.py -> build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/discrete.py -> build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/blackjack.py -> build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/taxi.py -> build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/cliffwalking.py -> build/lib/gym/envs/toy_text
      copying gym/envs/toy_text/__init__.py -> build/lib/gym/envs/toy_text
      creating build/lib/gym/envs/robotics/fetch
      copying gym/envs/robotics/fetch/pick_and_place.py -> build/lib/gym/envs/robotics/fetch
      copying gym/envs/robotics/fetch/push.py -> build/lib/gym/envs/robotics/fetch
      copying gym/envs/robotics/fetch/__init__.py -> build/lib/gym/envs/robotics/fetch
      copying gym/envs/robotics/fetch/reach.py -> build/lib/gym/envs/robotics/fetch
      copying gym/envs/robotics/fetch/slide.py -> build/lib/gym/envs/robotics/fetch
      creating build/lib/gym/envs/robotics/hand
      copying gym/envs/robotics/hand/manipulate_touch_sensors.py -> build/lib/gym/envs/robotics/hand
      copying gym/envs/robotics/hand/manipulate.py -> build/lib/gym/envs/robotics/hand
      copying gym/envs/robotics/hand/__init__.py -> build/lib/gym/envs/robotics/hand
      copying gym/envs/robotics/hand/reach.py -> build/lib/gym/envs/robotics/hand
      creating build/lib/gym/wrappers/monitoring
      copying gym/wrappers/monitoring/video_recorder.py -> build/lib/gym/wrappers/monitoring
      copying gym/wrappers/monitoring/__init__.py -> build/lib/gym/wrappers/monitoring
      copying gym/wrappers/monitoring/stats_recorder.py -> build/lib/gym/wrappers/monitoring
      creating build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/humanoid.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/hopper.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/walker2d.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/half_cheetah.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/thrower.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/inverted_double_pendulum.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/inverted_pendulum.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/striker.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/pusher.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/reacher.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/swimmer.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/ant.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/humanoidstandup.xml -> build/lib/gym/envs/mujoco/assets
      copying gym/envs/mujoco/assets/point.xml -> build/lib/gym/envs/mujoco/assets
      creating build/lib/gym/envs/classic_control/assets
      copying gym/envs/classic_control/assets/clockwise.png -> build/lib/gym/envs/classic_control/assets
      creating build/lib/gym/envs/robotics/assets
      copying gym/envs/robotics/assets/LICENSE.md -> build/lib/gym/envs/robotics/assets
      creating build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/push.xml -> build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/reach.xml -> build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/robot.xml -> build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/pick_and_place.xml -> build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/slide.xml -> build/lib/gym/envs/robotics/assets/fetch
      copying gym/envs/robotics/assets/fetch/shared.xml -> build/lib/gym/envs/robotics/assets/fetch
      creating build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/robot_touch_sensors_92.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_egg_touch_sensors.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_egg.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/reach.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/robot.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/shared.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_pen.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_block_touch_sensors.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/shared_touch_sensors_92.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_block.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/manipulate_pen_touch_sensors.xml -> build/lib/gym/envs/robotics/assets/hand
      copying gym/envs/robotics/assets/hand/shared_asset.xml -> build/lib/gym/envs/robotics/assets/hand
      creating build/lib/gym/envs/robotics/assets/stls
      creating build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/estop_link.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/laser_link.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/torso_lift_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/l_wheel_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/wrist_flex_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/base_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/r_wheel_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/gripper_link.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/wrist_roll_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/bellows_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/shoulder_lift_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/forearm_roll_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/torso_fixed_link.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/elbow_flex_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/upperarm_roll_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/shoulder_pan_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/head_pan_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      copying gym/envs/robotics/assets/stls/fetch/head_tilt_link_collision.stl -> build/lib/gym/envs/robotics/assets/stls/fetch
      creating build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/F2.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/F3.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/lfmetacarpal.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/forearm_electric.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/wrist.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/forearm_electric_cvx.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/TH1_z.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/knuckle.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/TH3_z.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/palm.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/F1.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      copying gym/envs/robotics/assets/stls/hand/TH2_z.stl -> build/lib/gym/envs/robotics/assets/stls/hand
      creating build/lib/gym/envs/robotics/assets/textures
      copying gym/envs/robotics/assets/textures/block_hidden.png -> build/lib/gym/envs/robotics/assets/textures
      copying gym/envs/robotics/assets/textures/block.png -> build/lib/gym/envs/robotics/assets/textures
      /home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      installing to build/bdist.linux-x86_64/wheel
      running install
      running install_lib
      creating build/bdist.linux-x86_64
      creating build/bdist.linux-x86_64/wheel
      creating build/bdist.linux-x86_64/wheel/gym
      creating build/bdist.linux-x86_64/wheel/gym/vector
      copying build/lib/gym/vector/async_vector_env.py -> build/bdist.linux-x86_64/wheel/gym/vector
      creating build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/utils/numpy_utils.py -> build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/utils/misc.py -> build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/utils/shared_memory.py -> build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/utils/spaces.py -> build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/utils/__init__.py -> build/bdist.linux-x86_64/wheel/gym/vector/utils
      copying build/lib/gym/vector/sync_vector_env.py -> build/bdist.linux-x86_64/wheel/gym/vector
      copying build/lib/gym/vector/vector_env.py -> build/bdist.linux-x86_64/wheel/gym/vector
      copying build/lib/gym/vector/__init__.py -> build/bdist.linux-x86_64/wheel/gym/vector
      creating build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/closer.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/json_utils.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/env_checker.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/ezpickle.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/play.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/colorize.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/atomic_write.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/__init__.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/utils/seeding.py -> build/bdist.linux-x86_64/wheel/gym/utils
      copying build/lib/gym/version.py -> build/bdist.linux-x86_64/wheel/gym
      creating build/bdist.linux-x86_64/wheel/gym/envs
      copying build/lib/gym/envs/registration.py -> build/bdist.linux-x86_64/wheel/gym/envs
      creating build/bdist.linux-x86_64/wheel/gym/envs/unittest
      copying build/lib/gym/envs/unittest/cube_crash.py -> build/bdist.linux-x86_64/wheel/gym/envs/unittest
      copying build/lib/gym/envs/unittest/memorize_digits.py -> build/bdist.linux-x86_64/wheel/gym/envs/unittest
      copying build/lib/gym/envs/unittest/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/unittest
      creating build/bdist.linux-x86_64/wheel/gym/envs/box2d
      copying build/lib/gym/envs/box2d/lunar_lander.py -> build/bdist.linux-x86_64/wheel/gym/envs/box2d
      copying build/lib/gym/envs/box2d/bipedal_walker.py -> build/bdist.linux-x86_64/wheel/gym/envs/box2d
      copying build/lib/gym/envs/box2d/car_dynamics.py -> build/bdist.linux-x86_64/wheel/gym/envs/box2d
      copying build/lib/gym/envs/box2d/car_racing.py -> build/bdist.linux-x86_64/wheel/gym/envs/box2d
      copying build/lib/gym/envs/box2d/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/box2d
      creating build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/humanoidstandup.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/striker.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/half_cheetah_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/mujoco_env.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/humanoid.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/ant.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/thrower.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/reacher.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/swimmer.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/inverted_double_pendulum.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/walker2d.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/swimmer_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/inverted_pendulum.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/half_cheetah.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/humanoid_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/pusher.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/hopper_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/hopper.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/walker2d_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/mujoco/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      creating build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/humanoid.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/hopper.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/walker2d.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/half_cheetah.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/thrower.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/inverted_double_pendulum.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/inverted_pendulum.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/striker.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/pusher.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/reacher.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/swimmer.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/ant.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/humanoidstandup.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/assets/point.xml -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco/assets
      copying build/lib/gym/envs/mujoco/ant_v3.py -> build/bdist.linux-x86_64/wheel/gym/envs/mujoco
      copying build/lib/gym/envs/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics
      copying build/lib/gym/envs/robotics/rotations.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      copying build/lib/gym/envs/robotics/fetch_env.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/fetch/pick_and_place.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/fetch/push.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/fetch/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/fetch/reach.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/fetch/slide.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/fetch
      copying build/lib/gym/envs/robotics/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/hand
      copying build/lib/gym/envs/robotics/hand/manipulate_touch_sensors.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/hand
      copying build/lib/gym/envs/robotics/hand/manipulate.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/hand
      copying build/lib/gym/envs/robotics/hand/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/hand
      copying build/lib/gym/envs/robotics/hand/reach.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/hand
      copying build/lib/gym/envs/robotics/hand_env.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/estop_link.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/laser_link.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/torso_lift_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/l_wheel_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/wrist_flex_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/base_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/r_wheel_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/gripper_link.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/wrist_roll_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/bellows_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/shoulder_lift_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/forearm_roll_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/torso_fixed_link.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/elbow_flex_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/upperarm_roll_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/shoulder_pan_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/head_pan_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      copying build/lib/gym/envs/robotics/assets/stls/fetch/head_tilt_link_collision.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/fetch
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/F2.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/F3.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/lfmetacarpal.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/forearm_electric.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/wrist.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/forearm_electric_cvx.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/TH1_z.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/knuckle.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/TH3_z.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/palm.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/F1.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/stls/hand/TH2_z.stl -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/stls/hand
      copying build/lib/gym/envs/robotics/assets/LICENSE.md -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/push.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/reach.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/robot.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/pick_and_place.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/slide.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      copying build/lib/gym/envs/robotics/assets/fetch/shared.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/fetch
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/textures
      copying build/lib/gym/envs/robotics/assets/textures/block_hidden.png -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/textures
      copying build/lib/gym/envs/robotics/assets/textures/block.png -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/textures
      creating build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/robot_touch_sensors_92.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_egg_touch_sensors.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_egg.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/reach.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/robot.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/shared.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_pen.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_block_touch_sensors.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/shared_touch_sensors_92.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_block.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/manipulate_pen_touch_sensors.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/assets/hand/shared_asset.xml -> build/bdist.linux-x86_64/wheel/gym/envs/robotics/assets/hand
      copying build/lib/gym/envs/robotics/robot_env.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      copying build/lib/gym/envs/robotics/utils.py -> build/bdist.linux-x86_64/wheel/gym/envs/robotics
      creating build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/rendering.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/acrobot.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/pendulum.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/continuous_mountain_car.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/cartpole.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      copying build/lib/gym/envs/classic_control/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      creating build/bdist.linux-x86_64/wheel/gym/envs/classic_control/assets
      copying build/lib/gym/envs/classic_control/assets/clockwise.png -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control/assets
      copying build/lib/gym/envs/classic_control/mountain_car.py -> build/bdist.linux-x86_64/wheel/gym/envs/classic_control
      creating build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/frozen_lake.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/discrete.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/blackjack.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/taxi.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/cliffwalking.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      copying build/lib/gym/envs/toy_text/__init__.py -> build/bdist.linux-x86_64/wheel/gym/envs/toy_text
      creating build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/tuple.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/dict.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/discrete.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/multi_binary.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/__init__.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/space.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/multi_discrete.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/utils.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/spaces/box.py -> build/bdist.linux-x86_64/wheel/gym/spaces
      copying build/lib/gym/error.py -> build/bdist.linux-x86_64/wheel/gym
      copying build/lib/gym/core.py -> build/bdist.linux-x86_64/wheel/gym
      copying build/lib/gym/__init__.py -> build/bdist.linux-x86_64/wheel/gym
      copying build/lib/gym/logger.py -> build/bdist.linux-x86_64/wheel/gym
      creating build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/atari_preprocessing.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/pixel_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/transform_reward.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/monitor.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/frame_stack.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/filter_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/clip_action.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/normalize.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      creating build/bdist.linux-x86_64/wheel/gym/wrappers/monitoring
      copying build/lib/gym/wrappers/monitoring/video_recorder.py -> build/bdist.linux-x86_64/wheel/gym/wrappers/monitoring
      copying build/lib/gym/wrappers/monitoring/__init__.py -> build/bdist.linux-x86_64/wheel/gym/wrappers/monitoring
      copying build/lib/gym/wrappers/monitoring/stats_recorder.py -> build/bdist.linux-x86_64/wheel/gym/wrappers/monitoring
      copying build/lib/gym/wrappers/time_limit.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/order_enforcing.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/gray_scale_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/time_aware_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/transform_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/rescale_action.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/record_episode_statistics.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/record_video.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/__init__.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/flatten_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      copying build/lib/gym/wrappers/resize_observation.py -> build/bdist.linux-x86_64/wheel/gym/wrappers
      running install_egg_info
      running egg_info
      writing gym.egg-info/PKG-INFO
      writing dependency_links to gym.egg-info/dependency_links.txt
      writing requirements to gym.egg-info/requires.txt
      writing top-level names to gym.egg-info/top_level.txt
      reading manifest file 'gym.egg-info/SOURCES.txt'
      writing manifest file 'gym.egg-info/SOURCES.txt'
      Copying gym.egg-info to build/bdist.linux-x86_64/wheel/gym-0.21.0-py3.8.egg-info
      running install_scripts
      Traceback (most recent call last):
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/requirements.py", line 35, in __init__
          parsed = parse_requirement(requirement_string)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/_parser.py", line 64, in parse_requirement
          return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/_parser.py", line 82, in _parse_requirement
          url, specifier, marker = _parse_requirement_details(tokenizer)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/_parser.py", line 126, in _parse_requirement_details
          marker = _parse_requirement_marker(
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/_parser.py", line 147, in _parse_requirement_marker
          tokenizer.raise_syntax_error(
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/_tokenizer.py", line 163, in raise_syntax_error
          raise ParserSyntaxError(
      wheel.vendored.packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after version specifier)
          opencv-python>=3.
                       ~~~^
      
      The above exception was the direct cause of the following exception:
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-wk9v2h5o/gym_5efcb2f330164b9e943bda4cde567405/setup.py", line 39, in <module>
          setup(
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 177, in setup
          return run_commands(dist)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
          dist.run_commands()
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
          self.run_command(cmd)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/dist.py", line 1217, in run_command
          super().run_command(command)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
          cmd_obj.run()
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 395, in run
          self.egg2dist(self.egginfo_dir, distinfo_dir)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 534, in egg2dist
          pkg_info = pkginfo_to_metadata(egginfo_path, pkginfo_path)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/metadata.py", line 160, in pkginfo_to_metadata
          for key, value in generate_requirements({extra: reqs}):
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/metadata.py", line 138, in generate_requirements
          for new_req in convert_requirements(depends):
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/metadata.py", line 103, in convert_requirements
          parsed_requirement = Requirement(req)
        File "/home/mylady/.virtualenvs/street_fighter_ai/lib/python3.8/site-packages/wheel/vendored/packaging/requirements.py", line 37, in __init__
          raise InvalidRequirement(str(e)) from e
      wheel.vendored.packaging.requirements.InvalidRequirement: Expected end or semicolon (after version specifier)
          opencv-python>=3.
                       ~~~^
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gym
  Running setup.py clean for gym
Failed to build gym
ERROR: Could not build wheels for gym, which is required to install pyproject.toml-based projects

windows10 安装 stable-baselines3==1.7.0报错信息

      copying build\lib\gym\envs\robotics\assets\hand\manipulate_block.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\manipulate_block_touch_sensors.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\manipulate_egg.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\manipulate_egg_touch_sensors.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\manipulate_pen.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\manipulate_pen_touch_sensors.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\reach.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\robot.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\robot_touch_sensors_92.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\shared.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\shared_asset.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\hand\shared_touch_sensors_92.xml -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\hand
      copying build\lib\gym\envs\robotics\assets\LICENSE.md -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\assets\stls
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\base_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\bellows_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\elbow_flex_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\estop_link.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\forearm_roll_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\gripper_link.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\head_pan_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\head_tilt_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\laser_link.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\l_wheel_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\r_wheel_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\shoulder_lift_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\shoulder_pan_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\torso_fixed_link.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\torso_lift_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\upperarm_roll_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\wrist_flex_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      copying build\lib\gym\envs\robotics\assets\stls\fetch\wrist_roll_link_collision.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\fetch
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\F1.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\F2.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\F3.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\forearm_electric.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\forearm_electric_cvx.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\knuckle.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\lfmetacarpal.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\palm.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\TH1_z.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\TH2_z.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\TH3_z.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      copying build\lib\gym\envs\robotics\assets\stls\hand\wrist.stl -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\stls\hand
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\assets\textures
      copying build\lib\gym\envs\robotics\assets\textures\block.png -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\textures
      copying build\lib\gym\envs\robotics\assets\textures\block_hidden.png -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\assets\textures
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch\pick_and_place.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch\push.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch\reach.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch\slide.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\fetch
      copying build\lib\gym\envs\robotics\fetch_env.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      creating build\bdist.win-amd64\wheel\gym\envs\robotics\hand
      copying build\lib\gym\envs\robotics\hand\manipulate.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\hand
      copying build\lib\gym\envs\robotics\hand\manipulate_touch_sensors.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\hand
      copying build\lib\gym\envs\robotics\hand\reach.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\hand
      copying build\lib\gym\envs\robotics\hand\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics\hand
      copying build\lib\gym\envs\robotics\hand_env.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      copying build\lib\gym\envs\robotics\robot_env.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      copying build\lib\gym\envs\robotics\rotations.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      copying build\lib\gym\envs\robotics\utils.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      copying build\lib\gym\envs\robotics\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs\robotics
      creating build\bdist.win-amd64\wheel\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\blackjack.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\cliffwalking.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\discrete.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\frozen_lake.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\taxi.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      copying build\lib\gym\envs\toy_text\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs\toy_text
      creating build\bdist.win-amd64\wheel\gym\envs\unittest
      copying build\lib\gym\envs\unittest\cube_crash.py -> build\bdist.win-amd64\wheel\.\gym\envs\unittest
      copying build\lib\gym\envs\unittest\memorize_digits.py -> build\bdist.win-amd64\wheel\.\gym\envs\unittest
      copying build\lib\gym\envs\unittest\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs\unittest
      copying build\lib\gym\envs\__init__.py -> build\bdist.win-amd64\wheel\.\gym\envs
      copying build\lib\gym\error.py -> build\bdist.win-amd64\wheel\.\gym
      copying build\lib\gym\logger.py -> build\bdist.win-amd64\wheel\.\gym
      creating build\bdist.win-amd64\wheel\gym\spaces
      copying build\lib\gym\spaces\box.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\dict.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\discrete.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\multi_binary.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\multi_discrete.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\space.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\tuple.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\utils.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      copying build\lib\gym\spaces\__init__.py -> build\bdist.win-amd64\wheel\.\gym\spaces
      creating build\bdist.win-amd64\wheel\gym\utils
      copying build\lib\gym\utils\atomic_write.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\closer.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\colorize.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\env_checker.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\ezpickle.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\json_utils.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\play.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\seeding.py -> build\bdist.win-amd64\wheel\.\gym\utils
      copying build\lib\gym\utils\__init__.py -> build\bdist.win-amd64\wheel\.\gym\utils
      creating build\bdist.win-amd64\wheel\gym\vector
      copying build\lib\gym\vector\async_vector_env.py -> build\bdist.win-amd64\wheel\.\gym\vector
      copying build\lib\gym\vector\sync_vector_env.py -> build\bdist.win-amd64\wheel\.\gym\vector
      creating build\bdist.win-amd64\wheel\gym\vector\utils
      copying build\lib\gym\vector\utils\misc.py -> build\bdist.win-amd64\wheel\.\gym\vector\utils
      copying build\lib\gym\vector\utils\numpy_utils.py -> build\bdist.win-amd64\wheel\.\gym\vector\utils
      copying build\lib\gym\vector\utils\shared_memory.py -> build\bdist.win-amd64\wheel\.\gym\vector\utils
      copying build\lib\gym\vector\utils\spaces.py -> build\bdist.win-amd64\wheel\.\gym\vector\utils
      copying build\lib\gym\vector\utils\__init__.py -> build\bdist.win-amd64\wheel\.\gym\vector\utils
      copying build\lib\gym\vector\vector_env.py -> build\bdist.win-amd64\wheel\.\gym\vector
      copying build\lib\gym\vector\__init__.py -> build\bdist.win-amd64\wheel\.\gym\vector
      copying build\lib\gym\version.py -> build\bdist.win-amd64\wheel\.\gym
      creating build\bdist.win-amd64\wheel\gym\wrappers
      copying build\lib\gym\wrappers\atari_preprocessing.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\clip_action.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\filter_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\flatten_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\frame_stack.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\gray_scale_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\monitor.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      creating build\bdist.win-amd64\wheel\gym\wrappers\monitoring
      copying build\lib\gym\wrappers\monitoring\stats_recorder.py -> build\bdist.win-amd64\wheel\.\gym\wrappers\monitoring
      copying build\lib\gym\wrappers\monitoring\video_recorder.py -> build\bdist.win-amd64\wheel\.\gym\wrappers\monitoring
      copying build\lib\gym\wrappers\monitoring\__init__.py -> build\bdist.win-amd64\wheel\.\gym\wrappers\monitoring
      copying build\lib\gym\wrappers\normalize.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\order_enforcing.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\pixel_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\record_episode_statistics.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\record_video.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\rescale_action.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\resize_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\time_aware_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\time_limit.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\transform_observation.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\transform_reward.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\wrappers\__init__.py -> build\bdist.win-amd64\wheel\.\gym\wrappers
      copying build\lib\gym\__init__.py -> build\bdist.win-amd64\wheel\.\gym
      running install_egg_info
      running egg_info
      writing gym.egg-info\PKG-INFO
      writing dependency_links to gym.egg-info\dependency_links.txt
      writing requirements to gym.egg-info\requires.txt
      writing top-level names to gym.egg-info\top_level.txt
      reading manifest file 'gym.egg-info\SOURCES.txt'
      writing manifest file 'gym.egg-info\SOURCES.txt'
      Copying gym.egg-info to build\bdist.win-amd64\wheel\.\gym-0.21.0-py3.8.egg-info
      running install_scripts
      Traceback (most recent call last):
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\requirements.py", line 35, in __init__
          parsed = parse_requirement(requirement_string)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\_parser.py", line 64, in parse_requirement
          return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\_parser.py", line 82, in _parse_requirement
          url, specifier, marker = _parse_requirement_details(tokenizer)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\_parser.py", line 126, in _parse_requirement_details
          marker = _parse_requirement_marker(
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\_parser.py", line 147, in _parse_requirement_marker
          tokenizer.raise_syntax_error(
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\_tokenizer.py", line 163, in raise_syntax_error
          raise ParserSyntaxError(
      wheel.vendored.packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after version specifier)
          opencv-python>=3.
                       ~~~^

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\mylady\AppData\Local\Temp\pip-install-60zo1h35\gym_801bab9ea1f14ad5a9c14d01e7158ff2\setup.py", line 39, in <module>
          setup(
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\_distutils\core.py", line 177, in setup
          return run_commands(dist)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\_distutils\core.py", line 193, in run_commands
          dist.run_commands()
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
          self.run_command(cmd)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\dist.py", line 1217, in run_command
          super().run_command(command)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
          cmd_obj.run()
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\bdist_wheel.py", line 395, in run
          self.egg2dist(self.egginfo_dir, distinfo_dir)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\bdist_wheel.py", line 534, in egg2dist
          pkg_info = pkginfo_to_metadata(egginfo_path, pkginfo_path)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\metadata.py", line 160, in pkginfo_to_metadata
          for key, value in generate_requirements({extra: reqs}):
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\metadata.py", line 138, in generate_requirements
          for new_req in convert_requirements(depends):
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\metadata.py", line 103, in convert_requirements
          parsed_requirement = Requirement(req)
        File "C:\Users\mylady\Envs\street_fighter_ai\lib\site-packages\wheel\vendored\packaging\requirements.py", line 37, in __init__
          raise InvalidRequirement(str(e)) from e
      wheel.vendored.packaging.requirements.InvalidRequirement: Expected end or semicolon (after version specifier)
          opencv-python>=3.
                       ~~~^
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gym
  Running setup.py clean for gym
Failed to build gym
ERROR: Could not build wheels for gym, which is required to install pyproject.toml-based projects

@KissMyLady
Copy link

在windows上使用 conda 虚拟环境成功安装了.

Successfully built gym
Installing collected packages: tensorboard-plugin-wit, pytz, pyglet, mpmath, zipp, urllib3, tzdata, typing-extensions, tensorboard-data-server, sympy, six, pyparsing, pyasn1, protobuf, pillow, packaging, oauthlib, numpy, networkx, MarkupSafe, kiwisolver, idna, grpcio, fonttools, filelock, cycler, cloudpickle, charset-normalizer, certifi, cachetools, absl-py, werkzeug, rsa, requests, python-dateutil, pyasn1-modules, jinja2, importlib-resources, importlib-metadata, gym, contourpy, torch, requests-oauthlib, pandas, matplotlib, markdown, gym-retro, google-auth, stable-baselines3, google-auth-oauthlib, tensorboard
Successfully installed MarkupSafe-2.1.2 absl-py-1.4.0 cachetools-5.3.0 certifi-2023.5.7 charset-normalizer-3.1.0 cloudpickle-2.2.1 contourpy-1.0.7 cycler-0.11.0 filelock-3.12.0 fonttools-4.39.4 google-auth-2.18.0 google-auth-oauthlib-1.0.0 grpcio-1.54.0 gym-0.21.0 gym-retro-0.8.0 idna-3.4 importlib-metadata-4.13.0 importlib-resources-5.12.0 jinja2-3.1.2 kiwisolver-1.4.4 markdown-3.4.3 matplotlib-3.7.1 mpmath-1.3.0 networkx-3.1 numpy-1.24.3 oauthlib-3.2.2 packaging-23.1 pandas-2.0.1 pillow-9.5.0 protobuf-4.23.0 pyasn1-0.5.0 pyasn1-modules-0.3.0 pyglet-1.5.27 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2023.3 requests-2.30.0 requests-oauthlib-1.3.1 rsa-4.9 six-1.16.0 stable-baselines3-1.7.0 sympy-1.12 tensorboard-2.12.1 tensorboard-data-server-0.7.0 tensorboard-plugin-wit-1.8.1 torch-2.0.1 typing-extensions-4.5.0 tzdata-2023.3 urllib3-1.26.15 werkzeug-2.3.4 zipp-3.15.0

@Kidand
Copy link

Kidand commented Jun 1, 2023

最终采用了这篇博客中提到的setuptools version解决了,正确version:63.2.0,大家可以调整尝试一下 https://www.cnblogs.com/huangshiyu13/p/17222706.html

感谢,解决了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants