FastAPI 开发环境搭建流程(使用 uv)
注:博主 的pc 是 mac ,下面所有命令均默认是mac 上执行。
步骤 1:安装 uv
brew install uv步骤 2:创建项目目录
mkdir my-fastapi-project
cd my-fastapi-project步骤 3:创建虚拟环境
uv venv
source .venv/bin/activate步骤 4:安装依赖
uv add "fastapi[standard]"若是报错缺少 pyproject.toml 文件可以手动创建 pyproject.toml
# 或者手动创建 pyproject.toml
echo '[project]
name = "my-fastapi-project"
version = "0.1.0"
description = "My FastAPI project"
dependencies = []' > pyproject.toml或者
# 直接安装包到虚拟环境
uv pip install "fastapi[standard]"步骤 5:创建 FastAPI 应用
创建 main.py:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World with fast_api!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}步骤 6:运行应用
uvicorn main:app --reload执行结果如下
(my-fastapi-project) mac@MacdeMac-mini my-fastapi-project % uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/Users/mac/my-fastapi-project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [51019] using WatchFiles
INFO: Started server process [51021]
INFO: Waiting for application startup.
INFO: Application startup complete.
一:使用Uvicorn 常用命令参数
# 基础用法
uvicorn main:app
# 开发模式(自动重载)
uvicorn main:app --reload
# 指定主机和端口
uvicorn main:app --host 0.0.0.0 --port 8000
# 使用多个工作进程
uvicorn main:app --workers 4
# 指定日志级别
uvicorn main:app --log-level debug
# 生产环境配置示例
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4 --log-level info二:在 Python 文件中直接启动
在 main.py 文件中添加启动代码:
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
if __name__ == "__main__":
# 使用导入字符串而不是 app 对象
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)然后运行:
python3 main.py方法三:使用 Gunicorn(生产环境)
# 安装 gunicorn
uv pip install gunicorn
# 使用 gunicorn 运行(多进程)
gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app