如何彻底搞定 PyCharm 中 pip install 报错 ModuleNotFoundError: No module named ‘requests’ 的问题

在使用 PyCharm 开发 Python 项目时,ModuleNotFoundError: No module named 'requests' 是一个常见但令人头疼的问题。本篇博文将从环境配置、原因分析到多种解决方案,帮助你彻底搞定该错误,确保在 PyCharm 中顺利使用 requests 库。
在这里插入图片描述

文章目录

  • 如何彻底搞定 PyCharm 中 pip install 报错 ModuleNotFoundError: No module named 'requests' 的问题
  • 作者简介
    • 猫头虎是谁?
    • 作者名片 ✍️
    • 加入我们AI共创团队 🌐
    • 加入猫头虎的共创圈,一起探索编程世界的无限可能! 🚀
  • 正文
    • 目录
    • 问题描述
    • 错误原因分析
    • 解决方案一:在终端使用 pip 安装
    • 解决方案二:确认并切换正确的 Python 解释器
    • 解决方案三:通过 PyCharm GUI 安装依赖
    • 解决方案四:多版本 Python 与环境变量冲突的处理
    • 解决方案五:虚拟环境(venv / conda)最佳实践
      • 使用 venv
      • 使用 Conda
    • 从零开始:一步步排查清单
    • 常见误区与注意事项
    • 总结与推荐
  • 粉丝福利
      • 联系我与版权声明 📩


作者简介

猫头虎是谁?

大家好,我是 猫头虎,猫头虎技术团队创始人,也被大家称为猫哥。我目前是COC北京城市开发者社区主理人COC西安城市开发者社区主理人,以及云原生开发者社区主理人,在多个技术领域如云原生、前端、后端、运维和AI都具备丰富经验。

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用方法、前沿科技资讯、产品评测、产品使用体验,以及产品优缺点分析、横向对比、技术沙龙参会体验等。我的分享聚焦于云服务产品评测、AI产品对比、开发板性能测试和技术报告

目前,我活跃在CSDN、51CTO、腾讯云、阿里云开发者社区、知乎、微信公众号、视频号、抖音、B站、小红书等平台,全网粉丝已超过30万。我所有平台的IP名称统一为猫头虎猫头虎技术团队

我希望通过我的分享,帮助大家更好地掌握和使用各种技术产品,提升开发效率与体验。


作者名片 ✍️

  • 博主猫头虎
  • 全网搜索关键词猫头虎
  • 作者微信号Libin9iOak
  • 作者公众号猫头虎技术团队
  • 更新日期2025年03月21日
  • 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能!

加入我们AI共创团队 🌐

  • 猫头虎AI共创社群矩阵列表
    • 点我进入共创社群矩阵入口
    • 点我进入新矩阵备用链接入口

加入猫头虎的共创圈,一起探索编程世界的无限可能! 🚀

部分专栏链接

🔗 精选专栏

  • 《面试题大全》 — 面试准备的宝典!
  • 《IDEA开发秘籍》 — 提升你的IDEA技能!
  • 《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师!
  • 《100天精通Golang(基础入门篇)》 — 踏入Go语言世界的第一步!

猫头虎分享No bug

正文


目录

  1. 问题描述
  2. 错误原因分析
  3. 解决方案一:在终端使用 pip 安装
  4. 解决方案二:确认并切换正确的 Python 解释器
  5. 解决方案三:通过 PyCharm GUI 安装依赖
  6. 解决方案四:多版本 Python 与环境变量冲突的处理
  7. 解决方案五:虚拟环境(venv / conda)最佳实践
  8. 从零开始:一步步排查清单
  9. 常见误区与注意事项
  10. 总结与推荐

问题描述

在 PyCharm 中运行脚本时,执行以下代码常常会报错:

import requests
# …

终端或控制台输出:

ModuleNotFoundError: No module named 'requests'

即使你已经在命令行中运行过 pip install requests 并且显示安装成功,PyCharm 仍然提示找不到该模块。本质上,这是因为安装包的环境与 PyCharm 运行脚本所用的环境不一致导致的。


错误原因分析

  1. 全局环境 vs 虚拟环境不一致

    • 命令行的 pip 默认操作全局 Python 环境,而 PyCharm 项目常配置了独立的 venvconda 环境。
  2. 多版本 Python 并存导致的 pip 对应错误

    • Windows/macOS 上同时装了 Python2.x 和 Python3.x,pip 有时指向 Python2,pip3 指向 Python3,但你脚本用的却是另一个版本。
  3. PyCharm 解释器配置错误

    • 项目 Interpreter 指向了系统解释器,却误以为是在虚拟环境中安装包。
  4. 环境变量 PATH 配置混乱

    • 系统环境变量配置了多个 Python 路径,导致执行 pippython 时调用了不同的可执行文件。

理解这几点后,我们可以有针对性地解决。


解决方案一:在终端使用 pip 安装

  1. 升级 pip

    python -m pip install --upgrade pip
    
  2. 安装 requests

    • Python 2:

      pip install requests
      
    • Python 3:

      pip3 install requests
      
  3. 验证安装位置

    python -c "import requests; print(requests.__file__)"
    

    输出路径应在你期望的 Python 安装目录下。如果不是,说明 pip 安装到了其他环境。

Tip: 在 PyCharm 所使用的 Terminal 窗口中执行上述命令,可以保证使用的是该项目配置的环境终端。


解决方案二:确认并切换正确的 Python 解释器

  1. 打开 PyCharm,依次进入:
    File → Settings(macOS 为 PyCharm → Preferences)→ Project: 你的项目名 → Python Interpreter

  2. 在右侧下拉框中,查看当前选中的解释器:

    • 系统解释器(System Interpreter)
    • 虚拟环境(Virtualenv Environment)
    • Conda Environment
  3. 若与安装 requests 的环境不一致,点击齿轮图标 → Add… → 选择或创建正确的解释器/环境。

  4. 切换后,PyCharm 会自动索引该环境中的所有包,确保 requests 已显示在已安装列表中。


解决方案三:通过 PyCharm GUI 安装依赖

若你对命令行不熟悉,PyCharm 提供了图形化的包管理界面:

  1. 打开 Settings → Project Interpreter 界面。
  2. 在已安装包列表下方,点击 “+” 按钮。
  3. 在弹出的对话框中输入 requests,选中 requests 后点击 Install Package
  4. 安装完成后,requests 会出现在包列表中,无需重启即可直接导入使用。

解决方案四:多版本 Python 与环境变量冲突的处理

如果你在系统中安装了多个 Python 版本,可能会出现:

$ which python
/usr/bin/python
$ which pip
/usr/local/bin/pip

它们并不指向同一个目录。解决方法:

  1. 明确使用版本

    python3.9 -m pip install requests
    

    或者在 Windows:

    py -3.9 -m pip install requests
    
  2. 检查环境变量

    • Windows:右键 此电脑 → 属性 → 高级系统设置 → 环境变量,确保 PATH 中 Python 路径顺序正确。
    • macOS/Linux:检查 ~/.bash_profile~/.zshrc 等中 export PATH 配置。

解决方案五:虚拟环境(venv / conda)最佳实践

使用 venv

  1. 在项目根目录创建虚拟环境:

    python3 -m venv venv
    
  2. 激活环境:

    • macOS/Linux:

      source venv/bin/activate
      
    • Windows:

      .\venv\Scripts\activate
      
  3. 安装 requests:

    pip install --upgrade pip
    pip install requests
    

在 PyCharm 中,将该 venv 目录下的解释器添加为项目 Interpreter。

使用 Conda

  1. 创建并激活环境:

    conda create -n myenv python=3.9
    conda activate myenv
    
  2. 安装 requests:

    conda install requests
    
  3. 在 PyCharm 中,选择该 Conda 环境作为项目 Interpreter。


从零开始:一步步排查清单

  1. 确认报错

    • 运行脚本,复制完整的错误堆栈。
  2. 检查 pip 安装

    pip show requests
    # 或 python -m pip show requests
    
  3. 确定 pip 与 python 对应关系

    which pip
    which python
    # Windows: where pip; where python
    
  4. 查看 PyCharm Interpreter

    • 确保与上述 pip/python 一致。
  5. 在 PyCharm Terminal 重复安装

    • 确保环境激活后,执行 pip install requests
  6. 使用 GUI 安装

    • 备选方案,快速验证。
  7. 运行验证脚本

    import requests
    print(requests.__version__)
    

常见误区与注意事项

  • 在系统终端安装,却未激活虚拟环境

  • 误以为 PyCharm Terminal 等同于系统终端

  • 多次安装后未重启 PyCharm(有时需要重启 IDE 以刷新包索引)

  • 依赖文件 requirements.txt 与环境同步缺失

    • 推荐使用:

      pip freeze > requirements.txt
      pip install -r requirements.txt
      

总结与推荐

  1. 优先使用虚拟环境(venv 或 conda),隔离项目依赖。
  2. 在 PyCharm Terminal 中执行 pip,减少环境误差。
  3. 必要时用 GUI 安装,更加直观。
  4. 遇到多版本冲突,使用 python -m pip 明确指定环境

通过以上方法,你可以彻底搞定 PyCharm 中 pip install 报错 ModuleNotFoundError: No module named 'requests' 的问题,保证开发环境的稳定与高效。祝你编程顺利!

猫头虎

粉丝福利


👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击文末名片获取更多信息。我是猫头虎博主,期待与您的交流! 🦉💬
猫头虎


联系我与版权声明 📩

  • 联系方式
    • 微信: Libin9iOak
    • 公众号: 猫头虎技术团队
  • 版权声明
    本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。

点击✨⬇️下方名片⬇️✨,加入猫头虎AI共创社群矩阵。一起探索科技的未来,共同成长。🚀

🔗 猫头虎抱团AI共创社群 | 🔗 Go语言VIP专栏 | 🔗 GitHub 代码仓库 | 🔗 Go生态洞察专栏
✨ 猫头虎精品博文

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92399.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92399.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/92399.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

powerquery如何实现表的拼接主键

在做表过程中,有时候没有基表,这个时候就要构造完整的主键,这样才可以使之后匹配的数据不会因为主键不全而丢失数据 我的处理方法是吧多个表的主键拼在一起然后去重,构造一个单单之后之间的表作为基表去匹配数据 所以就哟啊用到自…

今日Github热门仓库推荐 第八期

今日Github热门仓库推荐2025-07-22 如果让AI分别扮演 后端开发人员和前端开发人员,然后看看他们分别对github每天的trending仓库感兴趣的有哪些,并且给出他感兴趣的理由,那会发生什么呢? 本内容通过Python AI生成,项…

Dify-13: 文本生成API端点

本文档提供了有关 Dify 中与文本生成相关的 API 端点的全面信息。文本生成 API 支持无会话持久性的单次请求文本生成,使其适用于翻译、摘要、文章写作等非对话式人工智能应用场景。 概述 文本生成 API 端点允许开发人员将 Dify 的文本生成功能集成到不需要维护对话上…

Leetcode 3620. Network Recovery Pathways

Leetcode 3620. Network Recovery Pathways 1. 解题思路2. 代码实现 题目链接:3620. Network Recovery Pathways 1. 解题思路 这一题我最开始想的是遍历一下所有的网络路径,不过遇到了超时的情况。因此后来调整了一下处理思路,使用二分法的…

链路备份技术(链路聚合、RSTP)

一、链路聚合!链路备份技术之一-----链路聚合(Link Aggregation)被视为链路备份技术,核心原因在于它能通过多条物理链路的捆绑,实现 “一条链路故障时,其他链路自动接管流量” 的冗余备份效果,同…

PyTorch新手实操 安装

PyTorch简介 PyTorch 是一个基于 Python 的开源深度学习框架,由 Meta AI(原 Facebook AI)主导开发,以动态计算图(Define-by-Run)为核心,支持灵活构建和训练神经网络模型。其设计理念高度契合科…

Element Plus Table 组件扩展:表尾合计功能详解

前言在现代数据驱动的社会中,数据分析和统计成为了非常重要的任务。为了更有效地分析数据和展示统计结果,前端开发人员可以使用Vue框架和Element Plus组件库来实现数据的统计和分析功能。以下是一个关于如何在 Element Plus 的 el-table 组件中实现行汇总…

神经网络 非线性激活层 正则化层 线性层

神经网络 非线性激活层 作用:增强模型的非线性拟合能力 非线性激活层网络: class activateNet(nn.Module):def __init__(self):super(activateNet,self).__init__()self.relu nn.ReLU()self.sigmoid nn.Sigmoid()def forward(self,input):#output sel…

【Vue进阶学习笔记】组件通信专题精讲

目录前言props 父传子原理说明使用场景代码示例父组件 PropsTest.vue子组件 Child.vue自定义事件 $emit 子传父原理说明使用场景代码示例父组件 EventTest.vue子组件 Event2.vueEvent Bus 兄弟/跨层通信原理说明使用场景代码示例事件总线 bus/index.ts兄弟组件通信示例Child2.v…

【PTA数据结构 | C语言版】求最小生成树的Prim算法

本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 请编写程序,实现在带权的无向图中求最小生成树的 Prim 算法。 注意:当多个待收录顶点到当前点集的距离等长时,按编号升序进行收录。 输入格式: 输入首…

【加解密与C】Rot系列(四)RotSpecial

RotSpecial 函数解析RotSpecial 是一个自定义函数,通常用于处理特定的旋转操作,尤其在图形变换或数据处理中。该函数可能涉及欧拉角、四元数或其他旋转表示方法,具体行为取决于实现上下文。以下是关于该函数的通用解释和可能的使用方法&#…

【机器学习深度学习】LLaMAFactory中的精度训练选择——bf16、fp16、fp32与pure_bf16深度解析

目录 前言 一、 为什么精度如此重要?—— 内存、速度与稳定性的三角博弈 二、 四大精度/模式详解: bf16, fp16, fp32, pure_bf16 三、 关键特性对比表 ▲四大计算类型核心对比表 ▲ 显存占用对比示例(175B参数模型) ▲LLa…

C# 基于halcon的视觉工作流-章21-点查找

C# 基于halcon的视觉工作流-章21-点查找 本章目标: 一、检测显著点; 二、Harris检测兴趣点; 三、Harris二项式检测兴趣点; 四、Sojka运算符检测角点; 五、Lepetit算子检测兴趣点;一、检测显著点 halcon算子…

(11)机器学习小白入门YOLOv:YOLOv8-cls epochs与数据量的关系

YOLOv8-cls epochs与数据量的关系 (1)机器学习小白入门YOLOv :从概念到实践 (2)机器学习小白入门 YOLOv:从模块优化到工程部署 (3)机器学习小白入门 YOLOv: 解锁图片分类新技能 (4)机器学习小白入门YOLOv :图片标注实操手册 (5)机…

Grafana | 如何将 11.x 升级快速到最新 12.x 版本?

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]📢 大家好,我是 WeiyiGeek,一名深耕安全运维开发(SecOpsDev)领域的技术从业者,致力于探索DevOps与安全的融合(Dev…

Dubbo + Spring Boot + Zookeeper 快速搭建分布式服务

Dubbo Spring Boot Zookeeper 快速搭建分布式服务 本文将详细介绍如何基于 Dubbo、Spring Boot 和 Zookeeper 快速搭建一个简单的分布式服务调用场景,包含服务提供者(Provider)、服务消费者(Consumer)及公共接口&…

五分钟掌握 TDengine 数据文件的工作原理

小 T 导读:今天我们来探讨一下——TDengine中的时序数据到底是如何存储的? 在上一期的文章《五分钟掌握 TDengine 时序数据的保留策略》中,我们知道了TDengine是如何按照时间段对数据进行分区来管理数据的。 接下来,我们和大家一起…

Python爬虫实战:研究http-parser库相关技术

一、研究背景与意义 在当今数字化时代,网络数据蕴含着巨大的价值。从商业决策、学术研究到社会治理,对海量网络信息的有效采集与分析至关重要。网络爬虫作为数据获取的核心工具,其性能与稳定性直接影响数据质量。然而,随着互联网技术的发展,网站反爬机制不断升级,传统爬…

Go语言实战案例-批量重命名文件

在《Go语言100个实战案例》中的 文件与IO操作篇 - 案例17:批量重命名文件 的完整内容,适合初学者实践如何使用 Go 操作文件系统并批量处理文件名。🎯 案例目标实现一个小工具,能够批量重命名指定目录下的所有文件,例如…

基于单片机非接触红外测温系统

传送门 👉👉👉👉其他作品题目速选一览表 👉👉👉👉其他作品题目功能速览 概述 本设计实现了一种基于单片机的非接触式红外测温系统,适用于快速、安全测量物体表面温…