什么是uv工具
uv 是一个用于 Python 包管理的现代工具,它旨在替代 pip 和 virtualenv,提供更快、更高效的包安装与虚拟环境管理体验。uv 是由 Astral 团队开发的,并逐渐成为 Python 社区中的一个热门替代工具。
简而言之,uv 是一个 超快的 Python 包管理器,它集成了:
- 包安装(替代
pip) - 虚拟环境管理(替代
virtualenv) - 锁定文件(兼容
pip-tools和Poetry)
uv的优势
🚀 极快的安装速度:基于 Rust 实现,速度比 pip 快上几十倍
📦 自动创建虚拟环境:类似 Poetry,无需手动激活
🔐 锁定依赖:生成
uv.lock文件,确保可重复构建🐍 兼容性强:兼容
pyproject.toml,无缝对接现有项目📁 缓存机制优秀:充分利用缓存,加快安装流程
uv工具快速使用
以下是快速上手 uv 的步骤:
安装 uv
Linux操作系统可以使用以下命令安装
1 | curl -Ls https://astral.sh/uv/install.sh | bash |
如果电脑中安装过Python,可以直接使用pip命令安装:
1 | pip install uv |
初始化项目
在桌面创建一个空文件夹uv_test

打开文件夹,右键文件夹空白处,点击在终端打开

输入uv init即可初始化uv工程。
1 | uv init |

uv工程默认会生成4个文件:
.python-version:记录当前工程的Python版本。
main.py:主脚本。
pyproject.toml:记录当前uv工程的依赖情况。
README.md:工程的说明文件。
生成虚拟环境
使用以下命令可以为项目初始化一个Python虚拟环境,并且可以指定Python解释器版本。
1 | uv venv --python 3.10 |

你可以通过以下命令直接创建工程并指定
python解释器版本。
1 uv init uv_test -p 3.10
激活虚拟环境
输入以下命令即可激活虚拟环境
1 | .\.venv\Scripts\activate |

下载第三方库
1 | uv add pandas opencv-python |

输入命令uv tree,可以查看当前虚拟环境中的依赖树
1 | uv tree |

可以看到前面安装的pandas和opencv都安装成功了。
卸载第三方库
例如,卸载pandas库,使用以下命令
1 | uv remove pandas |

再次查看依赖树
1 | uv tree |

可以看到pandas库已经被卸载。
执行命令
初始化uv工程时,它会自动创建一个主脚本main.py,使用以下命令执行Python脚本。
1 | uv run main.py |

uv的其他基本命令
uv pip
uv工具中也有pip功能可以调用,通过uv pip进行调用,例如下载pandas库,也可以使用pip
1 | uv pip install pandas |

通过pip下载的内容,需要使用以下命令查看依赖列表。
1 | uv pip list |

如果你不适应
uv的命令,你也完全可以通过uv pip的方式去调用pip工具的相关命令,它比原生的pip命令更为高效。
uv sync
每个uv工程中都有一个pyproject.toml文件,用于记录该工程的依赖环境。每次使用uv命令去下载或者修改依赖都会造成pyproject.toml文件的变化。
在使用别人的uv工程时,可以通过uv sync命令一键克隆其环境依赖(包含Python版本)。
注意:使用
uv pip安装的依赖,不会记录在pyproject.toml文件中。
uv python
uv可以提前缓存多个版本的python解释器,通过以下命令进行查看并安装。
1 | # 显示当前已经安装的和可供安装的Python版本 |

已经安装好的,在输出结果中会呈现蓝色。
1 | # 你可以提前缓存python指定版本,这样后续在其他项目中安装Python环境时,不需要下载。 |

1 | # 卸载缓存的指定Python版本 |

1 | # 切换当前工程的Python版本 |

此命令只会先修改
.python-version文件内容,如果要更新Python解释器文件,则需要执行uv sync,因为修改了Python版本,对应的依赖也需要跟也Python版本去重新更新。