使用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进行验证和测试。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值