Uvicorn 是 Python 生态中用于运行异步 Web 应用的 ASGI 服务器,核心作用是把 FastAPI、Starlette 等异步框架写的代码"跑起来",让应用能接收并处理 HTTP 请求(类似同步框架里的 Gunicorn、WSGI 服务器)。
一、核心定位与作用
- 本质:ASGI(异步服务器网关接口)服务器,支持异步非阻塞的请求处理,是 FastAPI、Starlette 等现代异步框架的"标配运行工具"。
- 功能 :负责监听端口、接收 HTTP 请求、将请求转发给 Web 应用(如 FastAPI)、返回响应,同时支持 HTTP/1.1、HTTP/2,也能配合 Nginx 做生产环境的反向代理。
太好了!你已经成功安装了Uvicorn (从终端输出的Successfully installed click-8.3.1 colorama-0.4.6 h11-0.16.0 uvicorn-0.40.0可以确认安装完成),之前的报错仅源于包名拼写错误(uvicron→uvicorn),修正后安装流程顺利完成。
补充说明:
-
关于pip版本更新提示 :终端中反复出现的
pip 25.2 -> 25.3更新提示,属于非强制性提醒。更新pip可以获得更好的包下载兼容性、速度优化,执行以下命令即可完成更新(可选):bashpython.exe -m pip install --upgrade pip -
Uvicorn安装成功的验证方法:如果想确认Uvicorn是否能正常调用,可在终端执行以下命令,查看版本信息即代表可用:
bashuvicorn --version正常输出会类似:
uvicorn version 0.40.0。 -
后续实用操作(FastAPI+Uvicorn快速启动) :
如果你是为了搭配FastAPI使用,这里给一个最简示例,快速验证运行:
-
第一步:先安装FastAPI(若未安装)
bashpip install fastapi -
第二步:创建一个
main.py文件,写入以下代码:pythonfrom fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello FastAPI + Uvicorn!"} -
第三步:用Uvicorn启动服务
bashuvicorn main:app --reload -
第四步:访问浏览器地址
http://127.0.0.1:8000,即可看到返回结果,--reload参数表示热重载(修改代码后无需手动重启服务,自动生效,适合开发环境)。
-
-
Uvicorn核心命令解读:
main:app:main指main.py文件,app指文件中创建的FastAPI()实例;- 若想指定端口(如8080):
uvicorn main:app --reload --port 8080; - 若想允许局域网其他设备访问:
uvicorn main:app --reload --host 0.0.0.0 --port 8000。
至此,你已经具备了运行FastAPI项目的核心环境,后续可基于此进行更复杂的API开发啦。
二、读音
官方/社区常用读音是:/juːˈvɪkɔːrn/(近似中文发音:"优维康",重音在"维")。
需要我帮你整理一份 Uvicorn 生产环境部署的核心配置清单(含多进程启动、日志配置、Nginx 反向代理示例)吗?