电子商务网站建设与管理王生春vs怎么做网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:24
当前位置: 首页 > news >正文
电子商务网站建设与管理王生春,vs怎么做网站,网站设计技术文章,平陆县做网站Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全 本文主要介绍了Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全#xff0c;文中通过示例代码介绍的非常详细#xff0c;对大家的学习或者工作具有一定的参考学习价值#x…Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全 本文主要介绍了Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧Chat Gpt 文章目录 Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全1、module包没安装2、忘了import3、没有init.py文件4、安装的第三方module包的版本不对5、自建的包名与第三方安装的包名相同导致import包的时候导错了包6、没设置PYTHONPATH环境变量7、自建的module包所在路径不在PYTHONPATH下8、不恰当的使用了相对导入最后 Python报错ModuleNotFoundError: No module named ‘xxx’这个报错是个非常常见的报错几乎每个python程序员都遇到过导致这个报错的原因也非常多。 下面是我曾经遇到过的原因和解决方案 module包没安装忘了import没有init.py文件package包的版本不对自定义的包名与安装的包名相同导致import包的时候导错了包没设置PYTHONPATH或者自建的module包所在路径不在PYTHONPATH下不恰当的使用了相对导入 下面是每种情况分别的解决方案 1、module包没安装 使用场景 pip安装的第三方的包找不到 这个原因比较常见解决办法就是pip install相应的包即可。如果不确定是否安装了这个包使用下面的命令查找报警的那个包名如果有输出结果说明存在这个包否则说明不存在这个包。 pip list | grep xxx #把xxx替换成你的包名即可如果在pip install的过程中提示包找不到没有这个版本的包可能是需要加上内置源比如想要下载公司内部的包那肯定需要加上公司的内置源才能找到相应的包。内置源的的使用方式加上-i参数即可。 pip install xxx -i https://xxx.xx.org/simple
比如下面是清华的源
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/2、忘了import
使用场景 pip安装的第三方的包找不到、自建的module包找不到
module安装了但是没有import这个原因也经常碰到比如使用了datetime对象 但是没有导入datetime包。解决方案同样非常简单import 相应的包即可。比如下面的案例
import os
import sys
import time
import datetime这种情况最容易出现在从别处copy了一段了代码但是没有把所有用到的module导入进来。
3、没有init.py文件
使用场景 自建的module包找不到
因为python在解释包的时候会给本文件夹也就是本module下的所有文件建立一个索引放在当前路径下的init.py文件中如果没有module的文件索引我们即使import了指定的包解释器还是找不到这个module下的文件的因而我们一般会在每个文件夹下建一个空的init.py文件。如果一个文件夹下没有init.py文件不会被当做一个module。
解决方案 如果这个包是你自己写的不妨检查一下待导入的包的根目录是否存在一个init.py文件没有的话建一个空的init.py文件即可 注意不光要检查待导入的包根目录是否存在init.py文件还需要检查当前程序所在文件夹是否存在这个文件。如果这个包是pip install来的那基本上可以忽略这种可能了继续尝试下面的原因吧。
对于缺少init.py文件这种情况还有一种报错形式是 ImportError: attempted relative import with no known parent package
4、安装的第三方module包的版本不对
使用场景 pip安装的第三方的包找不到
当看到这里说明你已经检查并确定了module已经被安装了import语句也有init.py文件同样满足。这个时候或许可以怀疑一下是否是第三方包的版本与当前所用python版本不兼容。
解决方案是需要先卸载原来pip 安装的包然后安装一个指定版本的包。比如python3不兼容 2.0版本及以上的DBUitls包需要安装1.x的版本才行。
pip uninstall DBUtils
pip install DBUtils1.3可能有同学会问怎么确定这个module是否跟当前的python版本兼容呢这个很遗憾的告诉你我也不知道但是可以尝试把’找不到xxx包’ 的报警提示直接复制到搜索引擎中搜索结果如果是因为不兼容的原因很容易就能找到对应的说明博客博客中一定会说明需要安装哪个版本的包比较合适按照博客说明来操做即可。如果找了一圈都没发现关于不兼容的说法放弃吧说明你的问题应该不是这个情况。打起精神继续尝试下一种解决方案吧。
5、自建的包名与第三方安装的包名相同导致import包的时候导错了包
使用场景 pip安装的第三方的包找不到、自建的module包找不到
这种情况不经常发生但是一旦发生非常难找到原因。我曾经就自己在当前项目下创建了名为kafka的module文件夹包含init.py文件的文件夹被称为module文件夹而我又使用pip命令安装了一个kafka包我在程序中使用import kafka命令导包的时候其实我是想导入pip下来的第三方包的但是因为python包管理机制和包查找优先级会优先从当前路径下找指定的包如果当前文件夹下存在指定的包则不会去PYATHONPATH或者其他路径下找包。
解决方式是给自己的文件夹换个名字使得与第三方包名不冲突。
6、没设置PYTHONPATH环境变量
使用场景 pip安装的第三方的包找不到
有同学可能会说为什么有同学也没设置这个环境变量为啥他就能顺利执行我就不行这里我只能说每个人的电脑的开发环境不一样开发环境这种东西永远带有点玄学的意味。
解决方案
再次执行安装intall这个包的命令这时它不会再次安装而是会提示xxx包在xx路径已经满足而之所以找不到是因为没有把这个路径添加到PYTHONPATH这一环境变量中。这里以DBUtils包为例
pip install DBUtils1.3输出:Requirement already satisfied: DBUtils1.3 in ./venv/lib/python3.9/site-packages (1.3)
复制上面的路径,然后在terminal终端执行下面这条命令把加粗标记的路径改成你刚才复制的路径就好。这条命令即可将刚才的包路径添加到环境变量中。
export PYTHONPATH ./venv/lib/python3.9/site-packages:\(PYTHONPATH无论是否在虚拟环境中这样的解决方式都可以生效。
再次执行程序应该不会报包找不到的问题了。
如果仍然不行那么指定pip -V命令查看输出结果中的/pip之前路径是否和刚才加入环境变量的路径一样如果不一样把这个路径也加入到环境变量中。
pip -V其实我的pip -V输出的路径和刚才的路径是一样的但是为了演示不一样的情况这里假设这个路径和刚才添加的路径不一样这里再添加一遍到环境变量。
export PYTHONPATH /Users/lch/python_project/learn_python/venv/lib/python3.9/site-packages:\)PYTHONPATH提示 直接在终端运行export关键字来添加环境变量的方式可以让变量立即生效不需要source某个文件但是这个方式只适用于当前终端一旦当前终端关闭或在另一个终端中则失效。如果想要长久生效参考“Linux和Mac环境变量设置”将路径添加到环境变量文件中。
7、自建的module包所在路径不在PYTHONPATH下
适用场景 自建的包找不到
在IDE中执行python程序编译器会自动把当前项目的根目录加入到包查找路径中可以理解为加到PYTHONPATH下所以直接执行是没有问题的。但是在cmd或者terminal控制台中直接使用python相关命令来执行程序不会自动将当前项目加入到PYTHONPATH环境变量下如果涉及到import其他文件夹下的变量就会报类似ImportError: No module named xxx这样的错误。
解决方法是使用sys.append()命令把报警包的所在文件夹路径加入到PYTHONPATH。下面是一个
比如你的项目下叫做learn_python, 下面是你的项目根目录下的文件结构。
├──README.md
├──init.py
├──conf
│ ├── init.py
│ ├── offline_conf.py # 本地运行配置文件
│ └── online_conf.py # 线上运行配置文件
└──server # 启动服务文件夹├── init.py└── launch.py你在运行launch.py时报警conf这个module找不到这个时候就应该通过sys.append()命令把conf所在文件夹的路径注意是conf所在文件夹的路径不是conf的路径也就是 learn_python的根路径添加到PYTHONPATH中下面是实现方案的代码。
import sys
import logging
import os
把当前文件所在文件夹的父文件夹路径加入到PYTHONPATH
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(file)))) from conf.online_conf import *os.path.abspath(file)获取到的是launch.py的绝对路径os.path.dirname(os.path.abspath(file))获取到的是launch.py所在文件夹的也就是server的根路径 os.path.dirname(os.path.dirname(os.path.abspath(file)))获取到的是server所在文件夹也就是learn_python的根路径。 至此就获取到了learn_pyhton的根路径使用sys.append()命令把路径添加到环境变量中即可。 8、不恰当的使用了相对导入 python相对导入常见问题和解决方案 最后 当你排查完了以上所有情况发现自己都不符合而且在网上找了很多文章也没找到解决方案这个时候别独自挣扎了因为你很可能是犯了一个很低级小众的错误继续独自排查很难找到问题所在。最好让身边的同学帮你看一下所谓当局者迷旁观者清可能你看了很长时间却没关注到一些比较基础且常见的设置这时同事或者同学往往能很快看出你的问题所在。比如你可能一直以为你用的python3, 而实际上用的是python2等等。
相关文章
-
电子商务网站建设与管理实训内容答案WordPress 收款方案
电子商务网站建设与管理实训内容答案WordPress 收款方案
- 技术栈
- 2026年03月21日
-
电子商务网站建设与管理期末试卷东莞网站推广哪里找
电子商务网站建设与管理期末试卷东莞网站推广哪里找
- 技术栈
- 2026年03月21日
-
电子商务网站建设与管理课件网站制作公司兴田德润怎么联系
电子商务网站建设与管理课件网站制作公司兴田德润怎么联系
- 技术栈
- 2026年03月21日
-
电子商务网站建设与规划案例杭州搜索引擎推广
电子商务网站建设与规划案例杭州搜索引擎推广
- 技术栈
- 2026年03月21日
-
电子商务网站建设与推广实务石家庄seo管理
电子商务网站建设与推广实务石家庄seo管理
- 技术栈
- 2026年03月21日
-
电子商务网站建设与维护的主要内容seo关键词排名优化工具
电子商务网站建设与维护的主要内容seo关键词排名优化工具
- 技术栈
- 2026年03月21日






