如何徹底搞定 PyCharm 中 pip install 報錯 ModuleNotFoundError: No module named ‘requests’ 的問題

如何徹底搞定 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 操作文件系統并批量處理文件名。🎯 案例目標實現一個小工具,能夠批量重命名指定目錄下的所有文件,例如…

基于單片機非接觸紅外測溫系統

傳送門 👉👉👉👉其他作品題目速選一覽表 👉👉👉👉其他作品題目功能速覽 概述 本設計實現了一種基于單片機的非接觸式紅外測溫系統,適用于快速、安全測量物體表面溫…