for external in metadata.entry_points().get(self.group, []): Traceback (most recent call last): File "D:/Desktop/deepLearn/policy-gradient-tensoflow2.0-master/策略梯度_算法原生实现.py", line 4, in <module> import gym File "D:\DevTools\Anaconda3-5.2.0\envs\tf2\lib\site-packages\gym\__init__.py", line 13, in <module> from gym.envs import make, spec, register File "D:\DevTools\Anaconda3-5.2.0\envs\tf2\lib\site-packages\gym\envs\__init__.py", line 10, in <module> _load_env_plugins() File "D:\DevTools\Anaconda3-5.2.0\envs\tf2\lib\site-packages\gym\envs\registration.py", line 269, in load_env_plugins context = contextlib.nullcontext() AttributeError: module 'contextlib' has no attribute 'nullcontext'
时间: 2023-06-30 14:12:41 浏览: 502
[Oracle] dbms_metadata.get_ddl 的使用方法总结
这个错误是因为您的 Python 版本太低,`contextlib.nullcontext` 函数在 Python 3.6 及以下版本中不存在。
解决方法是升级您的 Python 版本至 Python 3.7 或以上版本。如果您无法升级 Python 版本,也可以手动添加 `nullcontext` 函数定义,如下:
```python
import contextlib
if not hasattr(contextlib, 'nullcontext'):
class nullcontext(contextlib.AbstractContextManager):
def __init__(self, enter_result=None):
self.enter_result = enter_result
def __enter__(self):
return self.enter_result
def __exit__(self, *excinfo):
pass
contextlib.nullcontext = nullcontext
```
添加了上述代码后,您的代码应该就可以正常运行了。
阅读全文