uv 是由 Astral 推出的 Python 环境与依赖管理工具,主打“快”和“可重复”。它把常见的几件事(创建虚拟环境、安装依赖、生成锁文件、运行命令)串成一套一致的工作流,适合个人装机、团队协作和多项目并行。
工具地址:https://github.com/astral-sh/uv
官方文档:https://docs.astral.sh/uv/
如果你已经在用 Homebrew,安装最省事:
brew install uv
安装后确认版本:
uv --version
不使用 Homebrew 也可以参考官方文档的安装方式(不同芯片与系统版本会有差异)。建议把 uv 放到 PATH 中,避免后续终端找不到命令。
进入你的项目目录(或新建一个目录),然后创建虚拟环境:
mkdir myproj && cd myproj
uv venv
这一步会生成项目级虚拟环境(通常位于 .venv)。接着激活环境:
source .venv/bin/activate
如果你希望固定 Python 版本,可以先确保系统已安装目标版本(例如通过 Homebrew 或其他方式),然后再创建 venv;团队协作时,建议在 README 中写清最小版本要求。
安装常用库(示例):
uv pip install requests rich
生成 requirements(或维护你项目的依赖清单)之后,关键是要有“锁定”的概念:把你当前解析到的依赖版本记录下来,这样在另一台电脑/CI 上能得到几乎一致的环境。
你可以用 uv 提供的导出/锁定能力(以官方文档为准)来生成锁文件,并在团队里提交到仓库;这样“装依赖”就不再是每个人各装各的,而是统一从锁文件恢复。
当虚拟环境准备好后,你可以用 uv 来运行项目里的命令,让命令执行和依赖环境绑定在一起。例如运行一个脚本:
python -m your_module
跑测试(示例):
pytest -q
建议把这些高频命令写进项目的 Makefile 或脚本里,再配合 uv 的环境管理,让新同事/新设备上手成本更低。
在 VS Code 中,打开项目后选择解释器指向 .venv(通常会自动识别)。这样运行/调试时就不会误用系统 Python。
如果你用 Jupyter,建议把 kernel 安装到当前虚拟环境(示例):
uv pip install ipykernel
python -m ipykernel install --user --name myproj --display-name "Python (myproj)"
之后在 Notebook 中选择对应的 Kernel,即可保证依赖一致。
Q:需要同时维护多个项目怎么办? A:每个项目用自己的 .venv,不要共用全局 site-packages;这也是“环境不互相污染”的根本。
Q:团队怎么统一? A:把 Python 版本要求、安装步骤、依赖锁文件的生成/更新流程写进 README,并在 CI 里校验锁文件是否更新。
Q:性能与安全 A:只从可信源安装依赖;不要随意执行未知脚本;依赖版本更新时建议先在分支验证再合并。