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
相关推荐
爱写代码的倒霉蛋2 天前
FastAPI的接口实现流程讲解
fastapi
在世修行3 天前
干货:文件上传端点解析
python·fastapi·接收上传
云和数据.ChenGuang3 天前
JAVAEE AI工程师路线图
java·人工智能·java-ee·fastapi·springai·langchain4j
风早爽太3 天前
Python 学习笔记:SQLModel 使用外键关联查询数据
python·fastapi·sqlmodel
风早爽太4 天前
Python 学习笔记:数据库迁移工具 ‌Alembic
数据库·python·fastapi·alembic
Web3&Basketball4 天前
用FastAPI+Redis 复刻常驻Agent
redis·bootstrap·fastapi
风早爽太7 天前
Python 开发笔记:配置生产环境中 Celery Worker 的独立进程启动方式
python·fastapi
Java的搬运工9 天前
【无标题】
python·机器学习·docker·fastapi·模型部署·mlops·ai工程化
云和数据.ChenGuang9 天前
langchain4j的RAG入门
人工智能·深度学习·机器学习·语言模型·fastapi
风早爽太9 天前
用 ‌Render‌ 快速部署网站和常见问题解决
python·fastapi