【Python】报错ModuleNotFoundError: No module named ‘XXX‘

简介: 【Python】报错ModuleNotFoundError: No module named ‘XXX‘

原因分析:

运行Python时,经常出现出现如下报错:

No module named ‘XXX’

出现这种原因一般分为两种:

情况一:如果 XXX 为第三方库,那么直接 pip install XXX,即可解决。

情况二: 如果 XXX 为自己写的模块,那么就需要按照如下方式解决。


问题解释:

运行Python时,提示无法导入自己写的模块:No module named ‘XXX’。这种很少出现在Pycharm中,这种情况一般会出现在使用cmd运行或 Ubuntu 终端运行(如下图):

原因:使用cmd或命令行运行python代码时,python会优先从三方库中去找import的文件(前提:python的环境变量已经设置好)。然而,自己写的模块并没有在环境变量中,因此会找不到。


修复该问题,有如下两种方式:

方法一(临时法):

在自己写的代码中,创建临时变量,将自己写的module加入临时环境变量中。

import sys
sys.path.append("你的工程文件夹路径")

★★注意★★: 这两句必须放在要执行的py文件的开头。

方法二(永久法):

将你所依赖的py文件,放到系统的第三方库的文件夹中,通常在这里:

C:\Users\XXXX\AppData\Local\Programs\Python\Python36\Lib\site-packages

(关注“测试开发自动化” 弓中皓,查看历史文章,获取更多知识)


相关文章
|
6天前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
6天前
|
Python
python常见报错
python常见报错
|
8天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
20 1
|
6天前
|
缓存 Python
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-npf9报错
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-npf9报错
|
6天前
|
JSON 安全 数据格式
7-6|python报错TypeError: can't pickle _thread.RLock objects
7-6|python报错TypeError: can't pickle _thread.RLock objects
|
2月前
|
API 开发工具 Python
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
|
2月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
|
4月前
|
XML 数据格式 Python
Python的`import`用于加载模块,基础形式是`import module`,全量导入
【6月更文挑战第23天】Python的`import`用于加载模块,基础形式是`import module`,全量导入;`from module import name`选择性导入部分,减少命名空间污染;`from module import *`导入所有(不推荐),易引发冲突。别名导入如`from math import sqrt as square_root`可避免冲突。包导入用`.`,如`import xml.etree.ElementTree as ET`。
52 8
|
网络安全 Python
解决Python找不到ssl模块问题 No module named _ssl
解决Python找不到ssl模块问题 No module named _ssl
|
Python
[oeasy]python0024_ 输出时间_time_模块_module_函数_function
[oeasy]python0024_ 输出时间_time_模块_module_函数_function
95 0
[oeasy]python0024_ 输出时间_time_模块_module_函数_function
下一篇
无影云桌面