安装gym==0.21.0遇到的问题
(gym21) C:\Users\chong>pip install gym==0.21.0
Collecting gym==0.21.0
Using cached gym-0.21.0.tar.gz (1.5 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info 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: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
以及
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\Users\chong\AppData\Local\Temp\pip-install-cc39m72i\gym_da868a760fcf49dbaa1378f21351382b\setup.py", line 39, in <module>
setup(
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
return run_commands(dist)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
dist.run_commands()
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
self.run_command(cmd)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\dist.py", line 1217, in run_command
super().run_command(command)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
cmd_obj.run()
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\wheel\bdist_wheel.py", line 395, in run
self.egg2dist(self.egginfo_dir, distinfo_dir)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\wheel\bdist_wheel.py", line 534, in egg2dist
pkg_info = pkginfo_to_metadata(egginfo_path, pkginfo_path)
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\wheel\metadata.py", line 160, in pkginfo_to_metadata
for key, value in generate_requirements({extra: reqs}):
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\wheel\metadata.py", line 138, in generate_requirements
for new_req in convert_requirements(depends):
File "C:\ProgramData\Anaconda3\envs\gym21\lib\site-packages\wheel\metadata.py", line 103, in convert_requirements
parsed_requirement = Requirement(req)
File "C:\ProgramData\Anaconda3\envs\gym21\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
主要是setuptools和wheel版本的问题
两步操作可以解决
pip install setuptools==65.5.0
pip install --user wheel==0.38.0
--user是因为没有权限
详情见:https://github.com/openai/gym/issues/3202#issuecomment-1513593788