【已解决】解决 ModuleNotFoundError: No module named ‘exceptions‘

【已解决】解决 ModuleNotFoundError: No module named 'exceptions'

文章目录

  • [【已解决】解决 ModuleNotFoundError: No module named 'exceptions'](#【已解决】解决 ModuleNotFoundError: No module named 'exceptions')
    • [1 问题描述](#1 问题描述)
    • [2 解决方法](#2 解决方法)
      • [2.1 卸载错误的模块](#2.1 卸载错误的模块)
      • [2.2 安装正确的模块](#2.2 安装正确的模块)
    • [3 为什么会出现这个问题?](#3 为什么会出现这个问题?)
      • [1️⃣ 包名和模块名可以不同](#1️⃣ 包名和模块名可以不同)
      • [2️⃣ 一个 pip 包可以包含多个模块](#2️⃣ 一个 pip 包可以包含多个模块)
      • [3️⃣ 有些库历史原因改名](#3️⃣ 有些库历史原因改名)
      • [4️⃣ pip 包里面嵌套子模块](#4️⃣ pip 包里面嵌套子模块)
    • [4 所以如何知道应该 install 什么?](#4 所以如何知道应该 install 什么?)
    • [5 总结](#5 总结)

1 问题描述

当你在使用 Python 时遇到 ModuleNotFoundError: No module named 'exceptions' 错误,这通常是因为你安装了错误的模块。

出现这个报错最常见的情形是:

python 复制代码
from docx import Document

运行时出现错误:

bash 复制代码
ModuleNotFoundError: No module named 'exceptions'

2 解决方法

2.1 卸载错误的模块

首先,卸载错误的 docx 模块。

bash 复制代码
pip uninstall docx

2.2 安装正确的模块

然后,安装正确的 python-docx 模块。

bash 复制代码
pip install python-docx

按照上述步骤重新正确安装后,应该能够解决 ModuleNotFoundError: No module named 'exceptions' 错误,并成功运行代码。

3 为什么会出现这个问题?

出现这个报错肯定是看到代码中有

python 复制代码
from docx import Document

所以就直接这样安装了:

bash 复制代码
pip install docx

但是请注意!

pip install 安装的是 distribution package(发布包名) ,而 import 用的是 module / package name(模块名) 。二者不一定相同

关于模块名与 Python import 用法的相关内容,可以看我之前的这一篇文章中的相关介绍:【一文搞懂】万字长文带你彻底理解 Python 的 import 导入机制 与 if name == "main": main() 的原理与作用

Python 里 import 的名字和 pip install 的包名不一定一样,原因主要有几个:

1️⃣ 包名和模块名可以不同

pip install 安装的是 distribution package(发布包名)

import 用的是 module / package name(模块名)

开发者可以随意设置这两个名字。

例如:

bash 复制代码
pip install pillow

但是代码里要写:

python 复制代码
import PIL

因为 Pillow 发布包里提供的模块叫 PIL

2️⃣ 一个 pip 包可以包含多个模块

有些库安装一个包,会提供很多模块。

例如:

bash 复制代码
pip install scikit-learn

代码:

python 复制代码
import sklearn

这里:

pip install import
scikit-learn sklearn

3️⃣ 有些库历史原因改名

很多库有历史包名。

例如:

pip install import
opencv-python cv2
beautifulsoup4 bs4
python-dateutil dateutil

代码:

python 复制代码
pip install beautifulsoup4
python 复制代码
from bs4 import BeautifulSoup

4️⃣ pip 包里面嵌套子模块

很多库是 父包 + 子模块

例如:

bash 复制代码
pip install matplotlib

代码:

python 复制代码
import matplotlib.pyplot as plt

这里:

复制代码
matplotlib
 └── pyplot

4 所以如何知道应该 install 什么?

如果看到代码:

python 复制代码
import cv2

你不知道安装什么,可以:

方法1:google

复制代码
pip install cv2

通常会告诉你:

复制代码
pip install opencv-python

方法2:用 pip search(旧方法)

现在常用:

bash 复制代码
pip install pip_search
pip_search cv2

方法3:看官方文档

🔥一个很实用的网站

推荐这个:

复制代码
https://pypi.org

搜索模块名。

5 总结

大部分情况

复制代码
pip install 包名
import 包名

但下面这些经常不同:

pip install import
pillow PIL
opencv-python cv2
beautifulsoup4 bs4
scikit-learn sklearn
python-dateutil dateutil

💡所以建议 pip install 之前先查一查这个模块名对应的发布包名的名称是什么,避免安装出错。

相关推荐
lulu12165440784 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
Ares-Wang4 小时前
Flask》》 Flask-Bcrypt 哈希加密
后端·python·flask
kongba0075 小时前
项目打包 Python Flask 项目发布与打包专家 提示词V1.0
开发语言·python·flask
belldeep5 小时前
介绍 遗传算法 与 TSP问题
python·遗传算法·ga·tsp问题
解救女汉子5 小时前
SQL触发器如何获取触发源应用名_利用APP_NAME函数追踪
jvm·数据库·python
思绪无限6 小时前
YOLOv5至YOLOv12升级:血细胞检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12·血细胞检测
skywalk81638 小时前
发现Kotti项目的python包Beaker 存在安全漏洞
开发语言·网络·python·安全
天天进步20158 小时前
Python全栈项目:从零构建基于 Django 的知识管理系统(KMS)
开发语言·python·django
珎珎啊8 小时前
Python3 迭代器与生成器
开发语言·python
思绪无限9 小时前
YOLOv5至YOLOv12升级:金属锈蚀检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12