python uv 包管理介绍

之前在安装一些工具的时候,偶尔会用到uv, 我没有深究其原理和使用方法,只是照搬命令执行,成功装上工具就行。今天,碰到了一个agent ai项目,又推荐uv, 索性就研究一下吧。

简单看了下,uv的野心还挺大的,即包含pip的功能,又包含venv的功能,而且性能更快。

划重点了, 主要功能

    • 整合了包安装(类似 pip),而且和pip命令十分相似
    • 拟环境管理(类似 venv/conda)
    • 项目构建

补充一个重点:

powershell 下设置环境变量

bash 复制代码
$env:PYTHONPATH = "D:\code\kimi-cli\src"

如果你的项目是pyproject.tomp,那么是没有requirement.txt的,如何安装依赖呢?

bash 复制代码
uv sync

uv syncuv 的核心命令,作用:

  • 读取 pyproject.tomluv.lock(如果存在,优先用锁文件保证依赖版本一致)
  • 安装所有依赖(生产 + 开发,需配置正确)
  • 生成 / 更新 uv.lock 锁文件(首次执行会生成)

安装方式

bash 复制代码
# 通过 curl(Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 通过 pip(需 Python 3.7+) windows可以使用这种
pip install uv

一、依赖安装和管理

支持从 requirements.txtpyproject.toml 安装依赖,例如:

bash 复制代码
uv pip install requests  # 安装单个包
uv pip install -r requirements.txt  # 从文件安装
uv pip freeze > requirements.txt  # 导出依赖

二、虚拟环境管理

可快速创建、激活虚拟环境,例如:

bash 复制代码
uv venv  # 创建虚拟环境(默认在 .venv 目录)
source .venv/bin/activate  # 激活(Linux/macOS)

三、项目构建

先给一个符合 PEP 621 标准的 pyproject.toml 示例

bash 复制代码
[build-system]
# 指定构建后端(常用 hatchling、setuptools 等,这里用 hatchling 作为现代后端)
requires = ["hatchling>=1.5"]
build-backend = "hatchling.build"

[project]
# 包的基本信息(核心必填项)
name = "myproject"  # 包名(PyPI 上唯一)
version = "0.1.0"  # 版本号(遵循语义化版本)
authors = [
  { name = "John Doe", email = "john@example.com" }  # 作者信息
]
description = "一个基于 PEP 621 标准的示例 Python 包"  # 简短描述
readme = "README.md"  #  README 文件路径
requires-python = ">=3.8"  # 支持的 Python 版本
classifiers = [  # 分类器(用于 PyPI 检索)
  "Programming Language :: Python :: 3",
  "License :: OSI Approved :: MIT License",
  "Operating System :: OS Independent",
]

# 依赖项(可选,分为运行时依赖和开发依赖)
dependencies = [
  "requests>=2.25",  # 运行时必须的依赖
  "pydantic>=2.0",
]

[project.optional-dependencies]
# 开发环境依赖(如测试、文档工具等,安装时需指定:pip install myproject[dev])
dev = [
  "pytest>=7.0",  # 测试工具
  "sphinx>=6.0",  # 文档生成工具
  "black>=23.0",  # 代码格式化工具
]

[project.urls]
# 额外链接(如项目主页、源码仓库等)
Homepage = "https://github.com/example/myproject"
Repository = "https://github.com/example/myproject.git"
Issues = "https://github.com/example/myproject/issues"

使用方式

  • 安装构建依赖:pip install hatchling
  • 构建包:python -m build(生成 .tar.gz.whl 包)
  • 发布到 PyPI:twine upload dist/*
相关推荐
lxw18449125148 小时前
Python uv 完整使用教程
python·conda·pip·uv
MC皮蛋侠客2 天前
uv 系列(二):创建现代 Python 项目——pyproject.toml与项目结构
python·uv
MC皮蛋侠客3 天前
uv 系列(三):依赖、锁文件与环境同步——可重复构建的核心
python·uv
MC皮蛋侠客3 天前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
renwen15794 天前
Blender简单的UV纹理绘制
blender·uv
cll_8692418914 天前
DTF墨水、热升华墨水、DTG墨水和UV墨水:主要区别
uv
远离UE46 天前
UE5 UV邻接 Niagara潜水模拟 学习笔记
ue5·uv
FL16238631297 天前
Windows手动下载安装配置uv 0.11.29配置国内源含安装包和安装教程
windows·uv
大魔王爱学习9 天前
Windows中通过uv工具安装一个默认的全局Python
开发语言·python·uv
工业胶粘剂技术10 天前
K-1924 UV光固化胶粘剂 电子精密组装与高强粘接 技术参数与选型
uv