新建Python venv虚拟环境报ModuleNotFoundError: No module named 'email.parser'如何解决
问题原因
email.parser是Python官方自带的标准库模块,正常安装的Python环境不会缺失该模块,本次报错的核心原因是模块导入优先级问题:Python解释器加载模块时会优先读取当前工作目录下的同名文件/目录,你当前项目根目录下存在名为email.py的文件,或者名为email的文件夹,覆盖了标准库的email模块,导致后续依赖标准库email模块的功能全部报错。- 你提到同一全局Python解释器下其他Notebook可以正常运行,进一步验证了该判断:其他项目的工作目录下没有和标准库重名的文件,因此可以正常加载官方的
email模块。 - 你此前执行的命令存在两处错误:升级pip的命令缺少
install参数、安装jupyterlab时拼写错误为juypterlab,也会导致依赖安装异常。
解决步骤
- 打开当前项目的根目录,查找所有命名为
email.py的文件或email的文件夹,将其重命名为不与标准库冲突的名称(例如email_tool.py、custom_email等)。 - 删除现有损坏的venv虚拟环境文件夹,重新执行虚拟环境创建与激活命令:
python -m venv venv ./venv/Scripts/Activate
- 执行正确的pip升级命令:
python -m pip install --upgrade pip
- 依次执行依赖安装,修正拼写错误:
pip install wheel pip install jupyterlab pip install ipykernel
- 重启VSCode,重新选择该虚拟环境作为Notebook的运行内核,即可正常执行单元格代码。
内容的提问来源于stack exchange,提问作者Jamie Marshall
相关产品推荐
相关产品推荐

