python 版本管理

来源:Python 3 教程 / 时间:2026-09-22

为什么需要版本管理

  • 不同项目依赖不同 Python 版本(如 3.7 与 3.11)

  • 第三方库版本冲突(如 Django 2.2 vs Django 4.2)

  • 团队协作需要一致的环境

常用 Python 版本管理工具

pyenv(多版本切换首选)

适用于 macOS/Linux(Windows 用 pyenv-win)
核心功能:安装、切换多个 Python 版本
常用命令

  • 查看可安装版本:pyenv install --list

  • 安装版本:pyenv install 3.11.4

  • 查看已安装版本:pyenv versions

  • 设置全局版本:pyenv global 3.11.4

  • 设置项目版本:pyenv local 3.9.7

venv / virtualenv(轻量虚拟环境)

适合一般项目隔离依赖

  • 创建环境:python3.x -m venv myenv

  • 激活环境:source myenv/bin/activate

Docker(企业级部署)

通过容器实现完全隔离的可复现环境

工具选择建议

场景

推荐工具

多版本切换

pyenv

数据科学

conda

普通项目隔离

venv / virtualenv

现代依赖管理

pipenv / poetry

生产部署

Docker

conda(数据科学场景最佳)

同时管理 Python 版本与依赖包

  • 创建环境:conda create --name my_env python=3.x

  • 激活环境:conda activate my_env

概述:
conda 是一个 跨语言的包管理和环境管理工具,最初由 Anaconda 开发,主要用于 Python 和 R 生态系统。

特点及优势

  • 支持 Python 及非 Python 依赖(如 numpy 依赖的 MKL、C/C++ 库等)

  • 支持虚拟环境管理(conda create 创建独立环境)

  • 解决依赖冲突能力强,使用 solver 解析依赖

  • 可在 Python 之外安装其他工具(如 gcc、cmake)

  • 支持 Windows、Linux、Mac(包括 Apple Silicon)

适用场景

  • 适用于 数据科学、机器学习(如 tensorflow、pytorch)

  • 需要管理 Python 之外的库(如 CUDA、MKL)

  • 需要在 Windows 上使用科学计算库(很多 Python 库的二进制包仅在 conda 可用)

uv

概述:uv 超快的 Python 包管理工具,主要用于 Python 生态,类似于 pip 和 poetry速度更快

特点及优势

  • 安装速度快(比 pip 和 conda 更快)

  • 直接替代 pip(支持 requirements.txt 和 pyproject.toml)

  • 无需虚拟环境,但可以与 venv 配合使用

  • 专注于 Python 依赖管理(不支持非 Python 依赖)

  • 高效的依赖解析(基于 rust 实现的解析器)

  • 适用于 CI/CD 和 Python 开发

适用场景

  • 需要 快速安装 Python 依赖(如 Web 开发、Python 脚本)

  • 适用于 Python-only 项目(如 Django、FastAPI)

  • 适合 开发者和 CI/CD 环境(提升安装速度)

对比总结

对比项

Conda

uv

主要用途

包管理 + 环境管理

仅 Python 包管理

是否支持 Python 以外的依赖

✅ 是

❌ 否

虚拟环境支持

✅ 内置环境管理

❌ 需 venv 或 virtualenv

安装速度

⚡ 中等

非常快

依赖解析能力

✅ 强(适用于复杂环境)

✅ 快(但仅限 Python 生态)

适用场景

数据科学、ML、科学计算

Web 开发、CI/CD、Python-only 项目

选择

  • 做数据科学、机器学习、深度学习,或者需要安装 Python 之外的依赖(如 CUDA)选 conda

  • 只管理 Python 依赖(如 Web 开发、CI/CD)且希望安装速度更快 选 uv

客服