如何使用 uv 构建 Python 包并本地安装

发布于:2025-05-01 ⋅ 阅读:(51) ⋅ 点赞:(0)

本文将逐步指导你创建一个简单的 Python 包,并将其本地安装到机器或云环境中。完成本教程后,你将拥有一个可复用的 Python 库,可直接通过 pip 安装或在项目中导入使用。

在这里插入图片描述

步骤详解

Step 0: 选择构建工具 - 使用 uv

  • 推荐理由uv 是类似 poetry 的现代打包工具,默认使用 hatchling 作为构建后端,支持 PEP 517/518 标准。

  • 安装方法:

    # 通过 Homebrew 安装(MacOS)
    brew install uv
    # 或直接通过 PyPI
    pip install uv
    

Step 1: 创建包目录结构

使用 uv 快速初始化项目结构:

uv init --lib my-package

生成后的目录如下:

my_package/
├── src/
│   └── my_package/
│       ├── __init__.py       # 标记为 Python 包
│       └── your_code.py      # 存放核心代码
│       └── py.typed          # 类型标注声明(可选)
├── pyproject.toml          # 项目元数据和依赖配置
├── README.md               # 项目文档
└── .python-version         # 指定 Python 版本

Step 2: 编写包代码

src/my_package/your_code.py 中添加功能代码:

# my_package/your_code.py
def greet(name: str) -> str:
    """返回问候语"""
    return f"Hello, {name}!"

Step 3: 配置 pyproject.toml

填写项目元数据和依赖项:

[project]
name = "my-package"
version = "0.1.0"
description = "一个简单的本地 Python 包示例"
readme = "README.md"
authors = [{ name = "Sarah Glasmacher", email = "sarah@example.com" }]
requires-python = ">=3.11"
dependencies = []

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

Step 4: 构建分发包

运行以下命令生成 .whl.tar.gz 文件:

uv build

构建完成后,dist/ 目录下会生成类似以下的文件:

dist/
├── my_package-0.1.0-py3-none-any.whl
└── my_package-0.1.0.tar.gz

Step 5: 本地安装包

方法 1:直接安装构建产物
pip install dist/my_package-0.1.0-py3-none-any.whl
方法 2:以编辑模式安装(实时同步代码)
pip install -e .

Step 6: 测试安装

打开 Python 终端验证:

from my_package.your_code import greet

print(greet("World"))  # 输出:Hello, World!

关键注意事项

  1. 模块化设计:将代码按功能拆分为独立模块,便于维护和复用。
  2. 依赖管理:通过 dependencies 字段声明依赖,或使用 uv add <package> 自动更新 pyproject.toml
  3. 版本控制:每次发布新版本前更新 version 字段,避免冲突。

扩展应用场景

  • 云部署:将打包后的代码上传至 Databricks 或 AWS Lambda,直接调用云端计算资源。
  • 协作开发:通过 PyPI 发布包(需额外配置),团队成员可直接 pip install 同步代码。

通过本文,你已掌握 Python 包的基础构建和本地安装流程。下一阶段可尝试 将包发布到 PyPI,实现全球范围内的代码共享!


网站公告

今日签到

点亮在社区的每一天
去签到