强化学习问题(五)--- ImportError: sys.meta_path is None, Python is likely shutting down

1.问题分析

笔者的错误发生在以下代码

复制代码
import gym
env = gym.make('GridWorld-v0')
env.reset()
env.render()

这个错误通常表明Python解释器在尝试导入模块时已经处于关闭过程中。

2.解决

通常在上述代码第五行加入 env.close() 即可解决。

但可能会出现秒闪,所以导入time模块改成以下代码

复制代码
import gym
import time
env = gym.make('GridWorld-v0')
env.reset()
env.render()
time.sleep(5)
env.close()

3.延深

python解释器:

计算机的大脑是cpu,中文名叫中央处理器,仍然不能直接处理Python语言。cpu只能直接处理机器指令语言,那是一种由0和1数字组成的语言,这是一种我们人很难直接写出的语言。所以需要一个翻译把python语言翻译成计算机cpu能听懂的机器指令语言,这样计算机才能按照我们python程序要求去做事情。.py结尾文件需要解释器去运行执行。

python解释器的构成及其各部分功能:

解释器由一个编译器和一个虚拟机构成。编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码。

执行过程原理:

1.执行 python XX.py 后,将会启动 Python 的解释器

2.python解释器的编译器会将.py源文件编译(解释)成字节码生成PyCodeObject字节码对象存放在内存中。

3.python解释器的虚拟机将执行内存中的字节码对象转化为机器语言,虚拟机与操作系统交互,使机器语言在机器硬件上运行。

4.运行结束后python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

参考文献

1.ImportError: sys.meta_path is None, Python is likely shutting down 解决方案-CSDN博客

  1. ImportError: sys.meta_path is None, Python is likely shutting down 解决方案-CSDN博客
相关推荐
Juchecar25 分钟前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805135 分钟前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_36 分钟前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机7 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机8 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机8 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机8 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i9 小时前
drf初步梳理
python·django
每日AI新事件9 小时前
python的异步函数
python
这里有鱼汤10 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python