python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python虚拟环境工具

系统梳理Python中的虚拟环境工具

作者:曾阿伦

在 Python 开发中,多 Python 版本切换、项目依赖隔离、版本一致性复刻是日常开发刚需,本文将为大家系统梳理一下,希望对大家有一定的帮助

前言

在 Python 开发中,多 Python 版本切换项目依赖隔离版本一致性复刻是日常开发刚需。如果不做环境隔离,不同项目的第三方包版本极易冲突,甚至破坏系统全局 Python 环境。

一、Python 版本管理工具

核心作用:同一机器安装多个 Python 版本,自由切换全局 / 项目默认 Python 解释器

1. pyenv

2. alternatives

二、经典依赖管理工具

核心作用:管理第三方包版本,为每个项目创建隔离独立环境,项目依赖互不干扰。

1. virtualenv

定位:PyPA 官方出品的经典虚拟环境创建工具,隔离能力强大。

核心优势:

不足:需手动安装,无内置依赖锁定能力。

2. venv(pyvenv)

定位:Python3.3 内置标准库,无需额外安装,轻量化首选。

版本迭代:

局限性: virtualenv,无法跨版本创建环境、不支持环境重定位、缺少高级脚本能力,仅适合简单小型项目。

官方文档:https://docs.python.org/zh-cn/3/library/venv.html

3. pyenv-virtualenv

4. pipenv

5. pipx

定位:专为Python 命令行工具设计,在独立虚拟环境中安装全局可执行工具。

优势:隔离安装 CLI 工具(如 poetry、httpie),不污染全局 Python 环境,随装随用。

安装使用:

pip install pipx

6. poetry

pipx install poetry
poetry about

三、uv 新生代极速依赖管理

1. uv 简介

uv 是由 Astral 团队基于 Rust 开发的新一代 Python 包与项目管理工具,堪称 Python 环境管理的「革命性工具」,一个工具可替代 pip、virtualenv、pyenv、poetry、pipx 等多款传统工具

2. 核心亮点

极速性能:依赖解析、包安装速度比传统 pip 快 10~100 倍,大幅缩短项目初始化、CI/CD 构建耗时;

全功能集成:内置 Python 版本管理、虚拟环境创建、依赖锁定、项目初始化、脚本运行、工具安装;

兼容原有工作流:提供 pip 兼容命令,无需改变使用习惯,无缝迁移;

全局缓存去重:统一依赖缓存,节省磁盘空间,多项目复用相同包;

跨平台支持:完美适配 Windows、macOS、Linux,无需依赖 Python 环境即可安装;

可靠版本锁定:通过 uv.lock 文件实现跨环境、跨机器依赖版本完全复刻。

3. 基础安装与常用命令

安装 uv

# Linux/Mac
curl -LsSf https://astral.sh/uv/install.sh | sh
# 也可通过 pip 安装
pip install uv

常用核心命令

# 创建虚拟环境
uv venv .venv

# 安装依赖(兼容 pip 用法)
uv pip install numpy pandas

# 初始化新项目
uv init my_project

# 运行项目脚本
uv run main.py

4. 适用场景

追求极致安装 / 解析速度的中大型项目;

需要统一管理 Python 版本、虚拟环境、依赖的团队项目;

CI/CD 流水线优化,大幅提升构建效率;

替代传统复杂工具链,简化开发环境配置。

四、主流工具选型总结

工具核心能力适用场景
pyenvPython 多版本管理本地多版本开发、服务器环境版本切换
venv内置轻量虚拟环境小型简单项目、不想额外安装工具
virtualenv全能虚拟环境Python2 老项目、需要高级环境能力
pipenv一体化依赖 + 环境小型项目快速开发,不推荐大型项目
pipxCLI 工具隔离安装全局 Python 命令行工具管理
poetry专业依赖 + 打包开源项目、模块化项目、需要发布包
uv极速全栈环境管理所有新项目首选,追求速度与简洁工作流

到此这篇关于系统梳理Python中的虚拟环境工具的文章就介绍到这了,更多相关Python虚拟环境工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文