使用uv构建Python包并本地安装的详细步骤指南

本文将逐步指导你创建一个简单的 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,实现全球范围内的代码共享!

    作者:梦想画家

    物联沃分享整理
    物联沃-IOTWORD物联网 » 使用uv构建Python包并本地安装的详细步骤指南

    发表回复