Python 报错ImportError: No module named ***的问题解决

 更新时间:2025年05月29日 10:53:57   作者:福旺旺  
本文主要介绍了Python 报错ImportError: No module named ***,下面就来介绍一下该问题的解决,具有一定的参考价值,感兴趣的可以了解一下

一、报错原因

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

二、解析情况

根据原理,报这种错会有两种情况。
一种就是根本没有安装相应的包,另一种就是包没有安装在对应的搜索路径下面,出现这种情况一般是Python安装过多版本或者进行过升级(也就是解释器用错了,假如这个包是用Python3写的,但你用Python2去运行了,就会报错)。

三、解决方法

  • 先确认是那种情况,直接搜索看看能不能找到相应的包
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

在这里插入图片描述

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

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

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

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

  • 添加.pth 文件(需要管理员权限)
    在搜索目录下新建一个.pth 文件,文件名任意,文件中每一行是一个路径,将第一步的路径输进入。(python运行时将会自动把每个.pth文件中的路径加入到搜索路径中)

  • 通过sys.path设置路径(临时)

import  sys
sys.path.append("待加入的搜索路径")
  • 在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)
  • 既然知道是包和解释器不匹配造成的了,同样的可以通过更改Python文件的文件头部说明也可以指定解释器
    • 具体操作:在Python文件的首行加上,#!/usr/bin/env python3
  • 例如

在这里插入图片描述

在这里插入图片描述

到此这篇关于Python 报错ImportError: No module named ***的文章就介绍到这了,更多相关Python ImportError报错 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 实例讲解Python设计模式编程之工厂方法模式的使用

    实例讲解Python设计模式编程之工厂方法模式的使用

    这篇文章主要介绍了Python设计模式编程之工厂方法模式的运用实例,文中也对Factory Method模式中涉及到的角色作出了解析,需要的朋友可以参考下
    2016-03-03
  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    最近在做一个项目,必须把结果保存到excel文件中,下面这篇文章主要给大家介绍了关于python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 检测python爬虫时是否代理ip伪装成功的方法

    检测python爬虫时是否代理ip伪装成功的方法

    这篇文章主要介绍了检测python爬虫时是否代理ip伪装成功的方法以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。,需要的朋友可以参考下
    2019-07-07
  • 用Python进行数据清洗以及值处理

    用Python进行数据清洗以及值处理

    这篇文章主要介绍了用Python进行数据清洗以及值处理,数据分析中,数据清洗是一个必备阶段。数据分析所使用的数据一般都很庞大,致使数据不可避免的出现重复、缺失、异常值等异常数据,如果忽视这些异常数据,可能导致分析结果的准确性,需要的朋友可以参考下
    2023-07-07
  • Python虚拟环境的原理及使用详解

    Python虚拟环境的原理及使用详解

    这篇文章主要介绍了Python虚拟环境的原理及使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python selenium抓取微博内容的示例代码

    Python selenium抓取微博内容的示例代码

    本篇文章主要介绍了Python selenium抓取微博内容的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Python队列Queue超详细讲解

    Python队列Queue超详细讲解

    Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递,本文给大家讲解Python队列Queue的相关知识,需要的朋友参考下吧
    2023-04-04
  • Python字符串处理函数简明总结

    Python字符串处理函数简明总结

    这篇文章主要介绍了Python字符串处理函数简明总结,本文总结了一些常用的字符串处理函数,需要的朋友可以参考下
    2015-04-04
  • 自动化Nginx服务器的反向代理的配置方法

    自动化Nginx服务器的反向代理的配置方法

    这篇文章主要介绍了自动化Nginx服务器的反向代理的配置方法,反向代理是Nginx服务器的招牌功能,需要的朋友可以参考下
    2015-06-06
  • 每天迁移MySQL历史数据到历史库Python脚本

    每天迁移MySQL历史数据到历史库Python脚本

    这篇文章主要为大家详细介绍了Python实现每天迁移MySQL历史数据到历史库的脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论