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
相关推荐
又蓝21 小时前
【元宝搜索开发者征文大赛】用 FastAPI + Vue3 做了个 AI 炒股工具,接了六个分析师和腾讯元宝搜索
人工智能·python·ai·fastapi
外收内放1 天前
FastAPI猜字谜实战(8):收官
开发语言·python·学习·fastapi
hhb_6182 天前
FastAPI接口开发与性能优化实战
性能优化·fastapi
程序猿乐锅2 天前
【从0-1学习Python | 第九篇】继承
开发语言·后端·python·学习·fastapi
外收内放3 天前
FastAPI猜字谜实战(4):让AI主持人开口
开发语言·python·学习·fastapi
外收内放3 天前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
小林ixn3 天前
用 FastAPI + SQLAlchemy 从零手搓一个博客系统:一套能落地、能讲清楚的 RESTful 后端
后端·python·fastapi
外收内放3 天前
FastAPI猜字谜实战(5):会话管理
开发语言·python·学习·fastapi
Sakura_j_h_4 天前
给 FastAPI 接大模型:超时、重试和 token 成本该怎么管
python·大模型·fastapi·超时重试·token计费
小林ixn5 天前
FastAPI + LangChain 实战:从 0 到 1 打造高性能 AI 后端服务
人工智能·langchain·fastapi