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/*
相关推荐
砍材农夫11 小时前
python环境|pip|uv|venv|Conda区别
后端·python·conda·pip·uv
jingqiulyue1 天前
uv sync 找不到uv怎么办
uv
love530love1 天前
2026年终极防坑指南:基于 EPGF 架构彻底“本地化” UV 环境与工具
人工智能·windows·python·架构·devops·uv·epgf
砍材农夫2 天前
python 如何一次性安装项目所有依赖包(pip和uv)
开发语言·python·pip·uv
文创工作室3 天前
三维模型展UV软件 RizomUV Virtual Space 2022.0.11 中文汉化
uv·rizomuv
SHIPKING3934 天前
【UV】从入门到实战
uv
GDAL5 天前
使用 uv 管理 Python 版本
python·uv·版本
CG_MAGIC6 天前
从光影到物理渲染:Substance Sampler 照片转材质
3d·材质·贴图·uv·建模教程·渲云渲染
GDAL7 天前
uv 完整教程:下一代 Python 包管理工具
python·uv
kke_888 天前
一年12个月,小程序UV的季节性波动规律
大数据·小程序·uv