报错解决:ModuleNotFoundError: No module named ‘XXX’

2023-05-16

报错解决:ModuleNotFoundError: No module named 'XXX'

  • 报错
  • 原因与解决方法
  • 参考文献

报错

在写python程序的时候,经常会出现如下报错:

ModuleNotFoundError: No module named ‘XXX’

报错原因:import的module找不到,出现此问题的原因有很多,可以尝试如下解决方案:

原因与解决方法

  1. 可能是XXX包没有安装,打开终端,输入如下指令:
pip install XXX
  1. 文件夹中存在XXX模块,但import时报错,可能是需要设置PYTHONPATH环境变量,打开终端,输入如下指令:
export PYTHONPATH="${PYTHONPATH}:PATH_TO_CENTERPOINT"
  1. 自建的module包找不到,可能是没有__init__.py文件,需要在module文件夹下,创建一个空的__init__.py文件
cd XXX && touch __init__.py
  1. 安装的第三方包找不到module,重新安装第三方包。若不行,可能需要卸载整个conda环境,重新安装。
pip uninstall XXX
pip install XXX
  1. 安装的第三方module包的版本不对,查询和自身环境相匹配的的版本进行安装。

  2. 自建的包名与第三方安装的包名相同导致import存在二义性,此时的解决方式是给自己的文件夹换个名字,使得与第三方包名不冲突。

  3. 在IDE中执行python程序,编译器会自动把当前项目的根目录加入到包查找路径中,可以理解为加到PYTHONPATH下,所以直接执行是没有问题的。但是在cmd或者terminal控制台中直接使用python相关命令来执行程序,不会自动将当前项目加入到PYTHONPATH环境变量下,如果涉及到import其他文件夹下的变量就会报类似ImportError: No module named xxx这样的错误。
    解决方法是使用sys.append()命令把报错包的所在文件夹路径加入到PYTHONPATH。

  4. 检查拼写是否有误。

  5. 可能是当前所处的conda环境有误,或者应该使用python2运行程序而错误地使用了python3,或者应该使用python3运行程序而错误地使用了python2等等。

参考文献

链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

报错解决:ModuleNotFoundError: No module named ‘XXX’ 的相关文章

  • 子进程c的返回值

    我需要帮助将 状态代码 从子程序返回给父程序 它将检查状态代码 打印代码并退出父程序 这是一个班级项目 所以我会在这里放置一些相关代码 但出于明显的原因 我不会发布整个项目 我已经通过 exec 分叉并创建了子进程 父进程进行一些奇特的数学
  • Python - randrange() 的空范围 (0,0, 0) 和 ValueError("randrange() 的空范围 (%d,%d, %d)" % (istart, istop, width))

    当我运行这个程序时 python 3 3 1 import random import time from random import randrange print print I am thinking of a person time
  • 如何全局公开 es6 模块

    我需要编写一个可在全局窗口上使用的模块 我使用 es6 创建模块 我定义的每个类都有它自己的文件 我正在使用 webpack 来 babelify 并捆绑这些类 我的模块的入口点也是包含要公开的全局的文件 我尝试了各种方法来实现这一点 包括
  • 导入 python 模块时如何解决 KeyError?

    我试图从不同的目录级别导入模块 所以我使用了 import os import sys sys path insert 0 os path abspath os path join os path dirname file 但现在我收到这个
  • 如何在 Windows 上的 Python 2.7 上安装 Tensorflow?

    我尝试通过 pip 安装 TensorFlow pip install tensorflow 但是得到这个错误 找不到满足tensorflow要求的版本 来自版本 这个问题有解决办法吗 我还是想通过pip安装 如果您只因为 Keras 而需
  • C# 中的类和模块有什么用

    有人可以解释一下类和模块之间的区别吗 你什么时候使用其中一种而不是另一种 我正在使用 C 更新 我的意思是相当于 VB 模块的 C 版本 这在很大程度上取决于您所指的 模块 Visual Basic 的模块 C 中没有真正等效的 VB Ne
  • 将命名参数传递给 Javascript 函数[重复]

    这个问题在这里已经有答案了 使用类似的方法调用 Javascript 函数 someFunction 1 true foo 不熟悉功能的话不是很清楚 我已经看到并使用了插入注释来命名参数的样式 someFunction itemsToAdd
  • 如何使用工厂函数解决 ES6 模块中的循环依赖关系?

    我想在我的里面写这样的东西src core Chessman js file import King from chessmen King class Chessman static factory side quality switch
  • python 中的 win32con 模块是什么?我在哪里可以找到它?

    我正在构建一个在 Windows 中使用 python 和 c 的开源项目 我收到以下错误消息 ImportError No module named win32con 同样的情况也发生在它正在运行的 预构建 代码中 除了我的电脑 P 我认
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记
  • 如何正确导入主代码和模块中同时使用的模块?

    假设我有一个主脚本 main py 它导入另一个 python 文件import coolfunctions另一个 import chores 现在 假设 Coolfunctions 也使用家务活中的东西 因此我声明import chore
  • 模块参数权限

    我是内核编程的新手 当我正在经历module param 我对权限值 0 感到困惑 有人解释说它不会在 sysfs 中获得条目 而其他人则喜欢S IRUGO将获得一个条目 我无法理解这个概念 perm 值 0 表示什么 我们什么时候需要 s
  • 需要js、d3 和 nvd3 集成

    我面临整合的问题要求 questions tagged requirejs with d3 questions tagged d3 and nvd3 questions tagged nvd3 我找到了一个使用 require 的简单解决方
  • 在需要时初始化模块

    我有一个模块 里面有一些初始化代码 加载模块时应执行 init 目前我正在这样做 in the module exports init function config do it in main var mod require myModu
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • python,从模块调用函数时遇到问题

    我导入了一个模块 如下所示 filename email mymodule import actions filename 我遇到的问题是 该文件是立即执行的 我宁愿从文件中执行特定的函数 这样我可以通过它发送变量 我基本上都是使用插件 所
  • Python 中 `if name == "__main__"` 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 name main gt 做什么 https stackoverflow com questions 419163 what does if name main do 我已经用 Python 编写脚本
  • Pandas datetools模块错误

    我正在尝试从 pandas datetools 调用模块 但收到错误消息 指出 mofule 对象没有我所调用的名称的属性 想知道是否有人可以阐明这个问题 下面是我尝试使用的代码 import blpapi import pandas as
  • (在 Ruby 中)允许混合类方法访问类常量

    我有一个为其定义常量的类 然后我定义了一个类方法来访问该类常量 这很好用 一个例子 usr bin env ruby class NonInstantiableClass Const hello world class lt lt self

随机推荐