当前位置: 首页 > news >正文

使用UV管理FastAPI项目

FastAPI是一个现代高性能Python WEB框架。可以使用uv管理FastAPI项目,包括安装依赖、管理环境、运行FastAPI应用等。

现有FastAPI项目迁移

例如一个如下结构的FastAPI项目:

project
└── app├── __init__.py├── main.py├── dependencies.py├── routers│   ├── __init__.py│   ├── items.py│   └── users.py└── internal├── __init__.py└── admin.py

要使用uv,在项目目录下运行:

uv init --app

创建应用框架和pyproject.toml文件。

然后,增加FastAPI依赖:

uv add fastapi --extra standard

项目框架变化为:

project
├── pyproject.toml
└── app├── __init__.py├── main.py├── dependencies.py├── routers│   ├── __init__.py│   ├── items.py│   └── users.py└── internal├── __init__.py└── admin.py

pyproject.toml文件内容类似以下内容:

[project]
name = "uv-fastapi-example"
version = "0.1.0"
description = "FastAPI project"
readme = "README.md"
requires-python = ">=3.12"
dependencies = ["fastapi[standard]",
]

现在,就可以运行FastAPI应用:

uv run fastapi dev

uv run自动解析和锁定项目依赖库,创建uv.lock,创建虚拟环境,在该环境中运行指令。

在浏览器中打开http://127.0.0.1:8000/?token=jessica进行测试。

部署

可以使用一下Dockerfile在Docker中部署FastAPI应用程序。

FROM python:3.12-slim# Install uv.
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/# Copy the application into the container.
COPY . /app# Install the application dependencies.
WORKDIR /app
RUN uv sync --frozen --no-cache# Run the application.
CMD ["/app/.venv/bin/fastapi", "run", "app/main.py", "--port", "80", "--host", "0.0.0.0"]

构建Docker image:

docker build -t fastapi-app .

在本地运行Docker容器:

docker run -p 8000:80 fastapi-app

在浏览器中打开http://127.0.0.1:8000/?token=jessica进行验证和测试。

http://www.dtcms.com/a/288440.html

相关文章:

  • 数独算法Python示例
  • 【HarmonyOS】Ability Kit - Stage模型
  • Redis数据库基础与持久化部署
  • Vue3的definePros和defineEmits
  • Nacos:微服务架构的核心引擎
  • xss-dom漏洞
  • Python 数据分析模板在工程实践中的问题诊断与系统性解决方案
  • 2025在线教育系统源码、平台开发新趋势:开源架构+AI赋能
  • FPGA自学——整体设计思路
  • MySQL练习3
  • 轻松上手:从零开始启动第一个 Solana 测试节点
  • 小架构step系列19:请求和响应
  • Redis字符串操作指南:从入门到实战应用
  • 81、【OS】【Nuttx】【启动】caller-saved 和 callee-saved 示例:压栈内容
  • MC0462最后一难
  • Redis进阶--集群
  • C study notes[1]
  • LVS技术知识详解(知识点+相关实验部署)
  • simulink系列之模型接口表生成及自动连线脚本
  • 消息队列:数字化通信的高效纽带
  • SQL Server和PostgreSQL填充因子
  • HCIA综合实验
  • string【下】- 内功修炼(搓底层)
  • C++入门--lesson4
  • CCF编程能力等级认证GESP—C++6级—20250628
  • ICT测试原理之--什么是假短
  • 基于opencv的人脸识别考勤系统
  • 人工智能与心理史学:从阿西莫夫的科幻预言到可计算社会模型>
  • Chris Fraser | 中国早期思想中墨家与荀子的知识论
  • 【完整代码】融合时序轨迹与49维特征反演的双色球开奖预测模型:一项关于隐藏规律的探索