比python的pip好用的uv工具包

发布于:2025-02-23 ⋅ 阅读:(169) ⋅ 点赞:(0)

1. uv新一代的包管理工具

1.0 官网地址

  • https://docs.astral.sh/uv/#tools
  • https://github.com/astral-sh/uv

1.1 如何安装

# On Windows.--> 这里有时需要开启脚本运行:  Set-ExecutionPolicy RemoteSigned -scope CurrentUser
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh


# With pip. 不推荐
pip install uv

在这里插入图片描述

2 基础命令

2.1 环境管理

# 1. 先初始化一个项目
uv init uv_example

# 2. 指定 Python 版本: 语法:`uv venv 环境名称 --python 版本` 推荐! 这样会创建一个test01的文件夹, 里面放着环境,可以安装多个版本,使用use进行切换python ==> uv python use 3.10

uv venv --python 3.11

# 3. 创建虚拟环境: 环境名称、版本可省略:`uv venv`
uv venv

# 4. 激活环境(Windows),,然后可以运行 python --version 看是否是我们指定的python版本,, 在 linux 需要加 source .venv\Scripts\activate

 .venv\Scripts\activate
python --version

# 5. 查看uv安装依赖库, 可以查看这个toml文件,也可以使用:   uv pip list ==> 或者更加详细一点的:   uv pip freeze​
uv add ruff

移除库
uv remove ruff

# 6. 可以uv运行py文件

uv run .\main.py

在这里插入图片描述

2.2 包管理

# 添加依赖(会更新 pyproject.toml)
uv add flask
uv add --dev pytest

# 安装依赖(不更新配置文件)
uv pip install flask

# 从项目配置安装
uv pip install .

2.3 依赖同步

# 同步项目依赖
uv sync

# 更新依赖
uv sync --upgrade

# 更新特定包
uv sync --upgrade-package flask

3. 项目最佳实践

3.1 新项目初始化

# 1. 创建项目目录
mkdir my-project && cd my-project

# 2. 创建虚拟环境
uv venv --python 3.11

# 3. 激活环境
.venv\Scripts\activate

# 4. 添加依赖
uv add flask fastapi
uv add --dev pytest black

# 5. 同步依赖
uv sync

3.2 配置文件示例

# pyproject.toml
[project]
name = "my-project"
version = "0.1.0"
description = "Project description"
requires-python = ">=3.11"
dependencies = [
    "flask",
    "fastapi"
]

[project.optional-dependencies]
dev = [
    "pytest",
    "black"
]

3.3 团队协作流程

3.3.1 克隆项目后:
uv venv
.venv\Scripts\activate
uv sync
3.3.2 添加新依赖时:
uv add new-package
uv sync  # 更新锁文件
git add pyproject.toml uv.lock
3.3.3 CI/CD 环境:
uv sync --locked  # 确保可重现的构建

4. UV vs pip 命令对比

功能 UV 命令 pip 命令
安装包 uv add flask pip install flask
安装开发依赖 uv add --dev pytest pip install pytest
从文件安装 uv sync pip install -r requirements.txt
更新包 uv sync --upgrade pip install --upgrade

5. 版本管理

5.1 通过配置文件

# pyproject.toml
[project]
requires-python = ">=3.9,<3.11"

5.2 5.2 通过命令行

# 创建特定版本环境
uv venv --python 3.9

# 使用 .python-version 文件
echo "3.9.7" > .python-version

6. 最佳实践总结

6.1 依赖管理:

  • 使用 uv add 添加新依赖
  • 使用 uv sync 同步项目依赖
  • 总是提交 uv.lock 到版本控制

6.2 环境管理:

  • 每个项目使用独立虚拟环境
  • 明确指定 Python 版本要求
  • 使用 --dev 分离开发依赖

6.3 团队协作:

  • 统一使用 pyproject.toml
  • 保持锁文件更新
  • CI/CD 中使用 --locked 标志

网站公告

今日签到

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