UV python的包和环境管理工具

一. UV python的包和环境管理工具

uv是用 Rust 编写的极其快速的 Python 包管理器
相比于 conda 的臃肿,uv 显得更加轻量级,所以我选择使用 uv 来安装和管理 python 版本

uv add pnpm add添加依赖并写入配置文件(pyproject.toml / package.json)
uv sync pnpm install安装所有依赖(最常用!)
uv run pnpm run / npx在项目环境中运行命令
uv build npm pack / pnpm pack打包成可分发的包(.whl / .tgz)
uv publish npm publish / pnpm publish发布到 PyPI / npm registry
.ven vnode_modules本地依赖文件夹(虚拟环境 vs 依赖目录)
uv.lock pnpm-lock.yaml(推荐) / package-lock.json精确锁定版本文件
uv tool install pnpm dlx / npx临时安装一次性工具(类似 pipx)
uv python install nvm install下载指定 Python 版本

安装uv:powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
查看uv版本:uv self version
查看安装了哪些python: uv python list (python3.14.4,3.13.11,3.10.1)
下载并安装python:uv python install3.14.2

显示uv安装的python 路径:uv python dir
卸载3.14.2的python版本:uv python uninstall 3.14.2
切换当前项目的Python版本:uv python pin 3.14.2
uv sync:命令同步环境(自动下载 python + 创建 .venv + 安装依赖),如果还没创建项目就无需运行 uv sync,后面的流程中 uv 会自动帮你创建环境。
切换全局默认 python 版本(电脑上所有新项目默认都用 3.14.2):uv python pin 3.14.2 --global

查看当前python的版本:uv run python --version
用uv创建项目:uv init
运行项目: uv run mian.py

用uv创建虚拟环境:uv run , uv sync , uv lock,uv add xxx
当您首次运行项目命令(即 uv run、uv sync 或 uv lock)或者 uv add xxx 安装库时
uv 将自动在项目的根目录中创建一个 .venv 虚拟环境文件夹(用于隔离依赖安装)和 uv.lock 锁文件(用于记录精确依赖版本,确保可重现性)

uv 安装库/依赖包:uv add xxx,yyy uv
如果同时安装多个库,中间用逗号隔开: uv add numpy,pandas == pip install
uv删除库:uv remove numpy == pip uninstall

uv sync: 其他人拉取仓库的代码后,只需要运行 uv sync 命令,就能获得一个和你一模一样的开发环境了!
uv sync: 用 uv 复刻环境/安装项目所需的依赖文件
uv tree: 查看项目依赖关系树
uv cache dir: 查看 uv 的全局缓存目录 当其他项目安装相同的版本库的时候,uv 会复用这些缓存文件,而不是每次都重新下载

uv 下载的包会放在缓存里面,.venv 文件夹里面实际是一些快捷方式,指向你下载过的缓存,所以不会重复下载包;每新建一个虚拟环境都会从快捷方式指向缓存,conda 却是每一次都下载

uv sync = uv add -r requirements.txt
uv export --format requirements.txt

uv build

uv pip install --upgrade setuptools == uv pip install "setuptools>=40.8.0" 先手动升级 setuptools

配置镜像源:pyproject.toml 也可以设置多个源,uv 会自动按照顺序决定优先级

[[tool.uv.index]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"

[[tool.uv.index]]
name = "huaweicloud"
url = "https://mirrors.huaweicloud.com/repository/pypi/simple/"

[[tool.uv.index]]
name = "tuna"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"

posted @ 2026-06-26 18:16  大树2  阅读(12)  评论(0)    收藏  举报