当前位置: 首页 > news >正文

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

Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘uvicorn’ 问题

摘要

在日常开发中,使用 PyCharm 控制台 进行 pip install 安装第三方库时,经常会遇到 ModuleNotFoundError: No module named 'uvicorn' 这样的报错。这个问题不仅出现在新手环境配置时,甚至在老项目迁移、虚拟环境切换或者包冲突时也会频繁触发。

本文将围绕 开发场景、环境说明、常见原因、解决方案及扩展方案 进行超详细讲解,帮助你彻底掌握 pip install 的排坑流程。

文章目录

  • Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 安装报错 ModuleNotFoundError: No module named 'uvicorn' 问题
    • 摘要
    • 一、开发场景说明
    • 二、开发环境
    • 三、常见原因分析与解决方案
      • 1. Module 未安装或包名错误
      • 2. 网络问题,切换国内源
      • 3. 忘记 `import` 或路径错误
      • 4. 没有 `__init__.py`
      • 5. 版本冲突 / 依赖不兼容
      • 6. 包名冲突
      • 7. PYTHONPATH 未设置
      • 8. 不恰当的相对导入
      • 9. pip 版本过低
      • 10. 额外扩展思路
    • 四、问题排查流程(Mermaid流程图)
    • 五、总结对比表格
    • 六、UML类图示意
    • 温馨提示🔔
    • 作者✍️名片

【Python系列PyCharm控制台pip install报错】


一、开发场景说明

通常这个异常出现在以下几类场景:

  • PyCharm 新建项目后,未配置解释器或未勾选虚拟环境。
  • 使用 pip install uvicorn 成功安装,但是运行时报 ModuleNotFoundError
  • 公司内网或学校网络pip 下载依赖超时或安装不完整。
  • 多版本 Python 共存(如同时存在 Python3.8、Python3.11),导致依赖装错解释器。

💡典型报错日志:

Traceback (most recent call last):File "main.py", line 1, in <module>import uvicorn
ModuleNotFoundError: No module named 'uvicorn'

二、开发环境

  • 系统:macOS 13.5
  • Python版本:Python 3.11
  • IDE:PyCharm 2025 专业版
  • 依赖安装方式:pip install uvicorn

三、常见原因分析与解决方案

1. Module 未安装或包名错误

  • 检查是否真的安装了包:

    pip show uvicorn
    
  • 如果没有结果,说明未安装,需要执行:

    pip install uvicorn
    
  • 注意拼写错误,比如 uvicorn 有人写成 uvircon


2. 网络问题,切换国内源

如果下载超时,可以临时指定国内源:

pip install uvicorn -i https://pypi.tuna.tsinghua.edu.cn/simple

配置文件写法(推荐长期使用):

Linux/macOS~/.pip/pip.conf
WindowsC:\Users\xxx\pip\pip.ini

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

3. 忘记 import 或路径错误

即使安装了包,如果写错导入也会报错:

# 正确写法
import uvicorn

4. 没有 __init__.py

如果你自己写了一个模块,但忘了加 __init__.py,Python 会识别不到。
解决:在每个自定义包目录下加一个空的 __init__.py


5. 版本冲突 / 依赖不兼容

有时 uvicorn 与某些库版本冲突,比如 fastapi 版本过旧。
可以尝试:

pip install -U uvicorn fastapi

6. 包名冲突

如果项目中有一个文件夹叫 uvicorn,Python 可能导入的是你的文件夹而不是第三方库。
解决:重命名自建包,避免与库同名。


7. PYTHONPATH 未设置

如果手动写了模块路径但没有添加到环境变量,Python 无法找到。
解决方案:
.bashrc.zshrc 中加入:

export PYTHONPATH=$PYTHONPATH:/your/project/path

8. 不恰当的相对导入

错误写法:

from . import uvicorn

应改为绝对导入:

import uvicorn

9. pip 版本过低

老版本 pip 无法解析新依赖,建议升级:

pip install --upgrade pip

10. 额外扩展思路

  • 使用 conda 管理环境,避免全局冲突:

    conda create -n fastapi python=3.11
    conda activate fastapi
    pip install uvicorn
    
  • 使用 requirements.txt 保证依赖统一:

    fastapi==0.110.0
    uvicorn==0.29.0
    

四、问题排查流程(Mermaid流程图)

开发者pip安装PyCharm解释器Python环境pip install uvicorn安装成功?找到uvicorn包切换国内源安装再次尝试alt[已安装][未安装/出错]import uvicorn 运行成功开发者pip安装PyCharm解释器Python环境

五、总结对比表格

问题原因解决方案难度等级
包未安装pip install uvicorn
网络问题换国内源(清华、中科大、阿里源)⭐⭐
包名冲突避免与库同名⭐⭐
版本冲突pip install -U fastapi uvicorn⭐⭐⭐
没有 __init__.py添加空文件
PYTHONPATH 未设置设置环境变量⭐⭐
pip 版本过低pip install --upgrade pip

六、UML类图示意

依赖关系
Uvicorn
+run(app, host, port)
FastAPI
+get(path)
+post(path)

Python系列PyCharm控制台pip install报错


温馨提示🔔

更多Bug解决方案请查看==>全栈Bug解决方案专栏https://blog.csdn.net/lyzybbs/category_12988910.html


作者✍️名片

CSDN猫头虎万粉变现计划和账号流量诊断服务名片


http://www.dtcms.com/a/394038.html

相关文章:

  • 变分自编码器(VAE):生成模型的另一条技术路线
  • 【LVS入门宝典】LVS NAT模式实战指南:ip_forward、iptables与SNAT、DNAT规则配置详解
  • 【Android】BottomSheet的三种使用
  • Spring MVC 九大组件源码深度剖析(八):RequestToViewNameTranslator - 视图名转换的奥秘
  • 在Linux环境下安装和卸载DMETL5数据迁移工具
  • 《计算》第五六章读书笔记
  • daily notes[47]
  • 模电基础:放大电路的分析方法---图解法
  • Windows10系统Web UI自动化测试学习系列1--介绍(序章-万事开头难)
  • 安装vllm的艰苦过程
  • 探索 Event 框架实战指南:微服务系统中的事件驱动通信:
  • FPGA超高速接口GTP_GTY_GTX使用说明
  • Blender常用第三方插件总结
  • Kurt-Blender零基础教程:第2章:建模篇——第3节:陈列/父子级/蒙皮/置换修改器与小狐狸角色建模
  • npm启动项目报错“无法加载文件……”
  • 从 0 到 1 精通 Nacos:服务发现与配置中心的实战指南
  • 基于DrissionPage的趣易百影院数据采集实战指南
  • github十大开源FPGA项目
  • R语言 csv新增一列 dplyr操作
  • IDEA创建Module子项目后,只有一个普通的文件夹
  • 支持向量机深度解析:从数学原理到工程实践的完整指南
  • 2025华为杯研究生数学建模竞赛B题及求解思路
  • 三星CIS全球产能布局解析:本土根基、海外扩张与策略雄心
  • js集装箱号校验算法
  • 【机器学习】最优传输(OT)和 KL散度的区别
  • 推荐一个随机生成图片的网站: Lorem Picsum
  • APE自动化提示词工程
  • 探究某黄鱼x-sign生成算法——终极篇
  • 霍尔传感器安装错位下的FOC控制:线性插值与锁相环(PLL)算法的抉择
  • FFmpeg 深入精讲(三)FFmpeg 中级开发