一篇带你搞懂Python系统模块导入:ModuleNotFoundError: No module named “XXX“ 的问题

背景

今天我用pip install jinja2安装了一个读取模板的python库,突然我在运行shell脚本时,它给我报了错误:ModuleNotFoundError: No module named "jinja2"

我查看了我的操作,很优雅呀,怎么会找不到模块,于是开始寻找原因,
下面的解决方几乎可以解决你导入寻找不到模块的问题和报错。

原因

  1. 查看系统路径!!
  2. 路径与安装模块/第三方库的路径不一致
  3. 因为有安装多个python,python的运行环境配置错误

先导入一个sys系统库,输出一下系统路径有哪些
一篇带你搞懂Python系统模块导入:ModuleNotFoundError: No module named “XXX“ 的问题_第1张图片
控制台打印的系统路径如下:
在这里插入图片描述

再查看一下当初安装第三方库时的路径是在哪里?
一篇带你搞懂Python系统模块导入:ModuleNotFoundError: No module named “XXX“ 的问题_第2张图片

破案啦~ 安装的默认路径 "没有" 在系统路径里面。

解决方法

根据以上原因,解决它:

  1. 查看是否多个版本,如果是,把python的环境变量配置到安装默认路径的那个版本
  2. 把你第三方包的路径配置到系统路径里面,可以通过PYTHONPATH环境变量

更新环境变量后,需要重新打开cmd或者IDE哈
最后再重新读取一下系统路径,已经修改为你想要的路径了,模块也能正常被导入啦
一篇带你搞懂Python系统模块导入:ModuleNotFoundError: No module named “XXX“ 的问题_第3张图片

你可能感兴趣的:(python,python,module)