Python

Python——报错:ImportError: No module named ***


文章目录

  • Python
  • Python——报错:ImportError: No module named ***
  • 一、报错原因
  • 二、解析情况
  • 三、解决方法
  • 3.1、未安装相应的包
  • 3.2、不在搜索路径下
  • 3.3、进入对应的版本



一、报错原因

  • 情形:运用import函数调用Python包时出现。
  • 原因:报这种错就是找不到对应的包了。
  • 原理:运用import函数调用Python包时,会从搜索路径下面寻找对应的包所在的库,如果没有找到对应的包名,就会报这个错。

二、解析情况

根据原理,报这种错会有两种情况。
一种就是根本没有安装相应的包,另一种就是包没有安装在对应的搜索路径下面,出现这种情况一般是Python安装过多版本或者进行过升级。

三、解决方法

  • 先确认是那种情况,直接搜索看看能不能找到相应的包
find / -name 包名
#/代表全局变量,如果权限不够全局变量,就缩小范围到个人账户下的范围
#或者用whereis函数
whereis 包名

3.1、未安装相应的包

  • 直接用pip安装相应的包
pip install 包名
  • 如果没有安装pip,用下面的代码安装
sudo apt-get install python-pip

3.2、不在搜索路径下

  • 第一步:在判断原因时查找过包,记录下包的位置
    以Python3.9为例,位置一般在
/..../python3.9/site-packages/

如果使用的是anaconda,路径为:

/.../anaconda3/lib/python3.9/site-packages/
  • 第二步:查看Python的搜索路径有哪些
  • 在Linux中输入python进入python操作页面
  • 输入下面代码查找搜索路径
import sys
sys.path

from找不到库 python python import 找不到_开发语言

  • 第三步:将包的路径添加到搜索路径中
  1. 设置pythonpath环境变量
    编辑 ~/.profile 文件:(需要管理员权限)
export PYTHONPATH=$PYTHONPATH:待加入的搜索路径

直接在命令行中输入:(临时,下次开机时失效)

export PYTHONPATH=$PYTHONPATH:待加入的搜索路径

注意不要有空格,否则会报错

  1. 添加.pth 文件(需要管理员权限)
    在搜索目录下新建一个.pth 文件,文件名任意,文件中每一行是一个路径,将第一步的路径输进入。(python运行时将会自动把每个.pth文件中的路径加入到搜索路径中)
  2. 通过sys.path设置路径(临时)
import  sys
sys.path.append("待加入的搜索路径")
  1. 在pycharm中设置搜索路径(只在pycharm中有效)
    有两种方法:
    1). 右击要加入的路径文件夹,选择“Mark Directory as ”,再选择“source root”
    2). 在edit configurations 中点击“environment variables”,输入:
    name: PYTHONPYTH
    Values: “待加入的路径”

3.3、进入对应的版本

  • 发现一个很有意思的事,安装多个python版本后,可以在命令上标注版本号,来进入不同大版本的python。
  • 这样也可以解决搜索不到对应包的问题。包装在了版本2中就进python2版本,包装在了版本3中就进python3版本(如果需要调用的多个包不在同一版本内,这个办法就失效了)
  • 编译运行:python2(/3)
  • 例如

from找不到库 python python import 找不到_from找不到库 python_02


from找不到库 python python import 找不到_pycharm_03