新锐Python包管理工具uv
名称 | 定位 | 功能 |
---|---|---|
pyenv | Python 版本管理器 | 安装和管理多个版本的 Python 解释器 |
venv | 虚拟环境管理器 | 基于某个解释器创建隔离的 Python 环境,隔离不同项目的依赖,解决项目间依赖冲突问题 |
pip/pip3 | Python 包管理器 | 在某个隔离环境内部安装、升级、卸载 Python 包(库)的工具 |
uv | 新一代一体化工具 | 一个试图将以上三者功能全部整合并大幅优化的新时代工具 |
传统标准工作流
pyenv+ venv+ pip
这是最经典、兼容性最好的组合,清晰地分离了关注点:
1. 使用 pyenv
安装指定版本的 Python:pyenv install 3.11.5
2. 在项目目录下,使用 venv
创建虚拟环境:python -m venv .venv
(这会创建一个名为 .venv的隔离环境)
3. 激活虚拟环境:
Windows: .venv\Scripts\activate
macOS/Linux: source .venv/bin/activate
4. 在激活的虚拟环境中,使用 pip安装项目依赖:pip install requests django
所有包都会被安装到刚创建的虚拟环境中,与系统完全隔离。
5. 导出依赖清单:pip freeze > requirements.txt
,便于在其他地方重现环境。
现代高效工作流
uv
uv
将上述多个步骤整合,大幅提升效率和体验:
1. 初始化项目并创建虚拟环境:uv init myproject
或手动 uv venv .venv
2. 激活环境后,使用 uv add
安装包:uv add requests django
,速度极快。
3. 依赖锁定:uv
会自动生成 uv.lock锁文件,精确锁定每个依赖的版本,确保环境一致性。
此外,uv
还可以直接管理 Python 版本:uv python install 3.11
,逐步覆盖 pyenv的功能。