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/*
相关推荐
布史1 天前
UV 项目管理指南
uv
cuckooman1 天前
uv设置国内源
python·pip·uv·镜像源
电棍2331 天前
使用uv的一些心得记录
uv
银月光科技1 天前
从光源到体验:UV LED技术如何推动美甲固化设备升级
uv·紫外led
电棍2331 天前
AUTODL服务器环境配置和下载数据概述
运维·深度学习·uv
至此流年莫相忘1 天前
Python包管理工具之UV
python·uv
vyuvyucd5 天前
Python虚拟环境终极指南:venv到uv进阶
开发语言·python·uv
溪海莘8 天前
如何部署使用uv管理依赖的python项目 ?
开发语言·python·uv
gravity_w8 天前
UV常用命令总结
经验分享·笔记·uv
zhuà!8 天前
uv-picker在页面初始化时,设置初始值无效
前端·javascript·uv