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/*
相关推荐
梦想不只是梦与想17 小时前
环境管理:Conda 与 venv
python·conda·uv
乐迪绘防伪油墨技术分享3 天前
特种功能油墨选型指南:温变 / 遇水 / 荧光 / UV LED 技术对比与供应商参考
前端·html·uv
Maiko Star6 天前
Python 包与项目管理工具——uv
python·uv
StarDream-Online7 天前
Windows 下 uv 安装与配置完全指南(含环境变量设置)
windows·uv
CAE虚拟与现实8 天前
Uvicorn或者uv是什么?
uv·gunicorn·uvicorn
PatrickYao04228 天前
Linux安装UV
linux·运维·uv
2601_9622845010 天前
uv:终结 Python 虚拟环境管理乱局
python·项目管理·uv·虚拟环境·依赖管理
一直走下去-明12 天前
在 Windows 上安装 uv
windows·uv
<花开花落>13 天前
Python 项目迁移到 uv:经验小结与可复用工作流
python·uv
Hello Mr.Z13 天前
microduck_rl(MuJoCo+PPO+WandB+UV训练机器人)
机器人·uv·rl·ppo·microduck