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可以获得更好的包下载兼容性、速度优化,执行以下命令即可完成更新(可选):python.exe -m pipinstall--upgrade pipUvicorn安装成功的验证方法:如果想确认Uvicorn是否能正常调用,可在终端执行以下命令,查看版本信息即代表可用:
uvicorn --version正常输出会类似:
uvicorn version 0.40.0。后续实用操作(FastAPI+Uvicorn快速启动):
如果你是为了搭配FastAPI使用,这里给一个最简示例,快速验证运行:- 第一步:先安装FastAPI(若未安装)
pipinstallfastapi - 第二步:创建一个
main.py文件,写入以下代码:fromfastapiimportFastAPI app=FastAPI()@app.get("/")defread_root():return{"message":"Hello FastAPI + Uvicorn!"} - 第三步:用Uvicorn启动服务
uvicorn main:app --reload - 第四步:访问浏览器地址
http://127.0.0.1:8000,即可看到返回结果,--reload参数表示热重载(修改代码后无需手动重启服务,自动生效,适合开发环境)。
- 第一步:先安装FastAPI(若未安装)
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 反向代理示例)吗?