如何解决pip安装报错ModuleNotFoundError: No module named ‘websockets’问题

【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named 'websockets'问题

摘要

在日常Python开发中,使用 pip install 安装依赖包是最常见的操作之一。但不少同学在 PyCharm控制台 或命令行执行 pip install websockets 后,依然在运行项目时报错:

ModuleNotFoundError: No module named 'websockets'

本文将从 环境配置、常见场景、版本冲突、路径设置、pip源问题 等多个角度,逐步分析并给出详细解决方案。

文章目录

  • [【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named 'websockets'问题](#【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named ‘websockets’问题)

一、开发环境说明

在复现问题的过程中,开发环境如下:

  • 操作系统:macOS Sonoma
  • Python版本:Python 3.11
  • IDE:PyCharm 2025 专业版
  • 包管理器:pip 24.x

这些环境并不会直接导致错误,但结合项目配置可能会触发 ModuleNotFoundError


二、常见错误场景复盘

在 PyCharm 中执行:

bash 复制代码
pip install websockets

安装日志显示成功,但运行 import websockets 时依然报错。这往往意味着:

  1. 包未被安装到当前解释器的环境中。
  2. 虽然安装了,但导入路径错了。
  3. pip、环境或包版本存在冲突。

三、错误原因与解决方案详解

1. 模块未安装或包名错误

很多同学输入命令时拼写错误,例如:

bash 复制代码
pip install websocket   # ❌ 错误
pip install websockets  # ✅ 正确

解决方法 :确认 pip list 中存在 websockets 包。


2. pip 版本过旧

部分老版本 pip 与新版 PyPI 协议不兼容,可能导致安装成功但不可用。

bash 复制代码
pip install --upgrade pip

3. 网络问题(国内用户常见)

国内环境下可能因为网络原因导致包下载不全。

解决方案:切换国内源(例如清华镜像):

bash 复制代码
pip install websockets -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 环境与解释器不一致

PyCharm中可能启用了多个 Python 解释器。

检查路径:
PyCharm -> Preferences -> Project Interpreter

确认解释器与执行 pip install 的环境一致。


5. 忘记 import 或导错包

python 复制代码
# 错误示例
import websocket   # ❌

# 正确示例
import websockets  # ✅

6. 缺少 __init__.py 文件

如果是自己封装的模块目录,没有 __init__.py 会导致 Python 不能识别为 package。

bash 复制代码
touch __init__.py

7. 包版本不兼容

某些依赖库要求特定版本。例如 FastAPI 需要 websockets ≥ 10.0。

bash 复制代码
pip install websockets==11.0.3

8. 自定义包名冲突

如果你在项目目录中创建了一个叫 websockets.py 的文件,会覆盖掉系统安装的库。

解决方法:避免与第三方库同名。


9. PYTHONPATH 未设置

如果安装的路径不在 PYTHONPATH 下,运行时会找不到模块。

bash 复制代码
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.11/site-packages

10. 相对导入错误

python 复制代码
# ❌ 错误
from . import websockets

# ✅ 正确
import websockets


四、解决流程可视化

成功 报错 正确 仍报错 最终解决 执行 pip install websockets import websockets 成功 检查拼写是否正确 检查解释器和环境一致性 升级pip / 切换国内源 / 检查PYTHONPATH


五、常见问题对照表

问题现象 可能原因 解决方法
安装成功但仍报错 环境不一致 确认PyCharm解释器
No module named websockets 包名拼写错误 使用 pip install websockets
下载缓慢或失败 网络问题 切换清华源或阿里源
导入时冲突 自定义包名相同 重命名自定义模块
安装后无法调用 pip版本旧 pip install --upgrade pip
项目结构问题 缺少 __init__.py 添加该文件

六、总结与扩展思路

通过上面的分析,可以看到 ModuleNotFoundError 不一定真的是"没有安装",而可能是 路径、解释器、网络、版本冲突 等导致的。

利他提醒 :如果你在开发中遇到更多 Python、PyCharm、pip 等相关Bug,可以参考 ==> 全栈Bug解决方案专栏 https://blog.csdn.net/lyzybbs/category_12988910.html

这样不仅能解决单个问题,也能提升整体开发排错能力。 🚀


相关推荐
Mertrix_ITCH2 小时前
在 Android Studio 中修改 APK 启动图标(2025826)
android·ide·android studio
Jackson@ML12 小时前
使用字节旗下的TREA IDE快速开发Web应用程序
前端·ide·trea
刘恒12345678914 小时前
Pycharm
ide·python·pycharm
vortex519 小时前
Python包管理与安装机制详解
linux·python·pip
Ciel_752120 小时前
AmazeVault 核心功能分析,认证、安全和关键的功能
python·pyqt·pip
weixin_541299941 天前
VSCode: 从插件安装到配置,如何实现 Ctrl+S 保存时,完全按照 .eslintrc.js 中的 ESLint 规则自动格式化代码
javascript·ide·vscode
半路程序员1 天前
autojs连接vscode失败:failed to connect to /192.168.xxx.xxx
ide·vscode·编辑器
檀越剑指大厂1 天前
【Python系列】Flask 和 FastAPI对比
python·flask·fastapi
全栈小52 天前
【AI编程】如何快速通过AI IDE集成开发工具来生成一个简易留言板系统
ide·人工智能·ai编程