uvicorn main.py 命令说明

uvicorn main.py 命令说明

bash

复制代码
uvicorn main.py

等价于:

bash

复制代码
uvicorn main:app

规则:文件名:实例对象main.py 里面必须有变量叫 app(FastAPI/Starlette 实例)

常用完整命令

bash

复制代码
# 基础启动,默认 127.0.0.1:8000
uvicorn main:app

# 外部可访问,0.0.0.0,端口8000,开启热重载(开发用)
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

# 指定工作进程数(生产环境,不要加 --reload)
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4

main.py 最小示例

python

运行

复制代码
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def hello():
    return {"msg": "hello uvicorn"}

常见报错

  1. uvicorn: command not found

bash

复制代码
# 方式1:全局安装
pip install uvicorn
# 或者用 python -m 调用,不用加到PATH
python -m uvicorn main:app --reload
  1. AttributeError: module 'main' has no attribute 'app'
  • main.py 没有定义 app = FastAPI()
  • 或者写错变量名,比如叫 api,那就要写 uvicorn main:api
  1. --reload 仅开发使用,生产环境禁止开启 reload

python -m uvicorn 写法(推荐,环境隔离不容易踩 PATH 坑)

bash

复制代码
python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload
相关推荐
西安栈上月明软件科技4 小时前
从 Linux 0.01 到 AI 开源:星图邻的开源实践
人工智能·自然语言处理·架构·开源·fastapi
troy1287 小时前
Python 基础语法(九):Django/Flask/FastAPI 三大 Web 框架详细对比解析
python·jupyter·django·flask·github·fastapi
刚子编程2 天前
Ubuntu 22.04 Docker 从零部署全栈项目实录:Next.js + FastAPI + PostgreSQL 一次跑通
fastapi·nextjs·docker部署·全栈开发·ubuntu22.04
CSharp精选营2 天前
Ubuntu 22.04 Docker 从零部署全栈项目实录:Next.js + FastAPI + PostgreSQL 一次跑通
fastapi·nextjs·docker部署·全栈开发·ubuntu22.04
花酒锄作田3 天前
FastAPI 使用 session 认证
python·fastapi
kyrie_sakura3 天前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
the局外人5 天前
学习 FastAPI 的 Day 4:完成用户系统与接口联调(完结)
后端·python·fastapi
李高钢5 天前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
杰克尼5 天前
FastAPI
fastapi
NotBeBarnon6 天前
做 AI 应用总在重复造轮子?我开源了一个 FastAPI 后端脚手架,开箱即用
fastapi