跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 虚拟环境管理工具 UV:从安装到高级用法

介绍 Python 轻量级虚拟环境管理工具 UV。涵盖安装方法、创建与激活虚拟环境、多版本 Python 管理、依赖包安装卸载及配置导出导入等核心功能。通过 UV 可高效隔离项目依赖,避免版本冲突,支持跨平台开发,适合快速构建和管理 Python 开发环境。

极客工坊发布于 2026/3/30更新于 2026/10/25119 浏览

前言

在 Python 开发中,管理不同项目的依赖包和 Python 版本是开发者常常遇到的问题。不同项目可能依赖不同版本的库,甚至同一个库在不同版本下的行为可能不同。为了避免这些问题,使用虚拟环境成为了解决方案。虚拟环境通过隔离每个项目的依赖,避免了版本冲突问题。

在 Python 中,常用的虚拟环境管理工具有 virtualenv、venv 和一些第三方工具,如 UV。本文将详细介绍如何使用 UV 虚拟环境管理工具,从安装、创建虚拟环境、管理 Python 版本和依赖包,到切换和删除虚拟环境。

一、什么是 UV?

UV 是一个简洁、轻量级的 Python 虚拟环境管理工具。它与传统的虚拟环境管理工具(如 virtualenv 或 venv)相比,提供了更加简单和清晰的命令行界面,使得开发者可以高效管理 Python 环境。UV 具备以下特点:

  • 轻量级:提供简单直观的命令行操作,不需要复杂的配置。
  • 支持多版本管理:支持创建多个不同版本的 Python 环境,帮助你在不同版本之间轻松切换。
  • 跨平台支持:支持在 Windows、Linux 和 macOS 上使用,适合跨平台开发。

二、安装 UV

1. 环境要求

在开始使用 UV 之前,请确保你已经安装了 Python。你可以通过以下命令检查系统是否安装了 Python:

python --version

如果 Python 未安装,请前往 Python 官方网站 下载并安装 Python。

2. 安装 UV

安装 UV 非常简单,只需使用 pip 命令进行安装。在终端中运行以下命令:

pip install uv

安装完成后,你可以通过以下命令检查 UV 是否成功安装:

uv --version

如果安装成功,终端将输出 UV 的版本信息。

三、UV 的基本使用

1. 创建虚拟环境

创建虚拟环境是 UV 的核心功能之一。你可以通过以下命令创建一个新的虚拟环境:

uv create myenv
  • uv create:命令创建虚拟环境。
  • myenv:虚拟环境的名称。你可以为虚拟环境指定任何名称。

UV 会自动选择系统中默认的 Python 版本并为该虚拟环境创建一个新的隔离环境。你可以在虚拟环境中安装特定的依赖包,且这些包不会影响系统级 Python 环境。

2. 激活虚拟环境

创建虚拟环境后,接下来你需要激活它。在 Windows 系统上,运行以下命令:

uv activate myenv

在 Linux/macOS 系统上,命令相同:

uv activate myenv

激活虚拟环境后,你的命令行提示符会发生变化,通常会显示你当前所处的虚拟环境的名称。这样你就可以在这个环境中安装、使用包,且不会影响全局环境。

3. 查看当前虚拟环境

为了方便检查当前激活的虚拟环境,可以使用 uv status 命令:

uv status

该命令会显示当前激活的虚拟环境的详细信息。

四、管理 Python 版本

1. 创建指定版本的虚拟环境

如果你需要为虚拟环境选择特定版本的 Python,你可以使用 --python 选项来指定 Python 版本。例如,如果你需要使用 Python 3.8 创建虚拟环境,可以执行以下命令:

uv create myenv --python=python3.8

解释:

  • --python=python3.8:指定虚拟环境使用 Python 3.8 版本。你可以根据需要替换为其他版本。

UV 会自动使用你指定的 Python 版本来创建虚拟环境。

2. 切换虚拟环境的 Python 版本

如果你已经创建了虚拟环境并且希望切换到另一个 Python 版本,可以使用 uv switch 命令:

uv switch myenv --python=python3.9

该命令会将 myenv 虚拟环境的 Python 版本切换为 Python 3.9。

3. 查看已安装的 Python 版本

你可以使用以下命令列出系统中所有可用的 Python 版本:

uv list --python

该命令会列出所有已安装的 Python 版本,以便你选择和切换。

五、管理依赖包

1. 安装包

在虚拟环境中安装依赖包非常简单。首先激活虚拟环境,然后使用 pip 命令来安装所需的包。例如,如果你想安装 requests 包:

pip install requests

安装后,你可以通过以下命令确认包是否安装成功:

pip list

该命令会列出当前虚拟环境中安装的所有包。

2. 查看已安装的包

要查看虚拟环境中已安装的所有包及其版本,你可以使用:

pip freeze

该命令会列出已安装包的版本信息,并且可以将其导出为 requirements.txt 文件,供其他开发者使用。

3. 生成依赖文件

当你需要将虚拟环境中的所有依赖包记录到一个文件中时,可以使用以下命令:

pip freeze > requirements.txt

这个命令会将当前环境中的所有安装包记录到 requirements.txt 文件。其他开发者可以使用该文件来安装相同的依赖:

pip install -r requirements.txt
4. 卸载包

如果你不再需要某个包,可以使用 pip uninstall 命令卸载它。例如,卸载 requests 包:

pip uninstall requests

六、虚拟环境的管理

1. 切换虚拟环境

在多个虚拟环境之间切换,可以使用以下命令:

uv activate anotherenv

该命令会激活名为 anotherenv 的虚拟环境。

2. 查看所有虚拟环境

如果你忘记了已创建的虚拟环境名称,或者想查看当前系统上所有的虚拟环境,可以使用以下命令:

uv list

该命令会列出所有已经创建的虚拟环境。

3. 删除虚拟环境

如果你不再需要某个虚拟环境,可以通过以下命令删除它:

uv delete myenv

这个命令会删除 myenv 虚拟环境,所有该环境中的包和配置也会一并被清除。

七、UV 高级用法

1. 导出虚拟环境的配置

你可以将整个虚拟环境的配置导出为一个可移植的文件,以便在其他地方重建该环境。使用以下命令导出环境配置:

uv export myenv --file=myenv_config.json

这个命令将会导出 myenv 环境的所有配置到 myenv_config.json 文件中。

2. 导入虚拟环境的配置

如果你想通过之前导出的配置文件来重建虚拟环境,可以使用以下命令:

uv import --file=myenv_config.json

这个命令将会根据 myenv_config.json 中的配置重新创建虚拟环境。

八、常见问题解答 (FAQ)

1. 如何退出虚拟环境?

要退出当前虚拟环境,可以使用以下命令:

deactivate

这将返回到全局环境。

2. UV 与 venv/virtualenv 有何不同?
  • UV 是一个更轻量级、更简化的虚拟环境管理工具,设计上更加易用,适合初学者和需要快速创建虚拟环境的开发者。
  • venv 是 Python 3.3 及更高版本自带的虚拟环境工具,功能相对基础,适合大多数开发者使用。
  • virtualenv 是一个功能强大的虚拟环境工具,支持更多高级特性,适合需要更细粒度控制的开发者。

结语

通过本文的详细介绍,你应该能够掌握如何使用 UV 工具来管理你的 Python 虚拟环境。UV 提供了非常简便和直观的命令来创建、切换、管理虚拟环境,以及安装和卸载依赖包。无论是单个项目还是多个项目,UV 都能帮助你有效隔离和管理 Python 环境,避免常见的依赖冲突问题。

目录

  1. 前言
  2. 一、什么是 UV?
  3. 二、安装 UV
  4. 1. 环境要求
  5. 2. 安装 UV
  6. 三、UV 的基本使用
  7. 1. 创建虚拟环境
  8. 2. 激活虚拟环境
  9. 3. 查看当前虚拟环境
  10. 四、管理 Python 版本
  11. 1. 创建指定版本的虚拟环境
  12. 2. 切换虚拟环境的 Python 版本
  13. 3. 查看已安装的 Python 版本
  14. 五、管理依赖包
  15. 1. 安装包
  16. 2. 查看已安装的包
  17. 3. 生成依赖文件
  18. 4. 卸载包
  19. 六、虚拟环境的管理
  20. 1. 切换虚拟环境
  21. 2. 查看所有虚拟环境
  22. 3. 删除虚拟环境
  23. 七、UV 高级用法
  24. 1. 导出虚拟环境的配置
  25. 2. 导入虚拟环境的配置
  26. 八、常见问题解答 (FAQ)
  27. 1. 如何退出虚拟环境?
  28. 2. UV 与 venv/virtualenv 有何不同?
  29. 结语

更多推荐文章

查看全部
  • Agent Native 取代 Copilot:智能体重塑公司架构与组织
  • 大规模语言模型从理论到实践:MOSS 与 RLHF 实践
  • VSCode 搭建 Java + Maven 开发环境实战
  • C++ list 模拟实现:带头双向链表的增删查改
  • LLaMA Factory 大模型微调实战指南
  • 基于 YOLOv8-v12 与 SpringBoot 的轴承缺陷检测系统
  • AI 绘画技术指南:提示词工程与创作流程解析
  • 数据结构初阶:时间复杂度与空间复杂度计算
  • Java 项目目录结构文档自动化生成方案
  • OpenClaw 本地 AI 助手部署与飞书对接实战
  • Microi 吾码与 JavaScript 技术整合实战
  • GitHub 核心概念与开发协作指南
  • 前端 SSG:静态站点生成实战指南
  • Java 继承复用避坑指南:常见陷阱与最佳实践
  • Python 图形界面与游戏开发实战:计算器、记事本及经典小游戏
  • C++ 日期类设计与 const 成员函数实践
  • Claude Code Agent Teams:重构 AI 研发范式的并行智能协作体系
  • Java 企业人事工资管理系统设计与实现
  • C++ 二叉搜索树详解:概念、实现与应用
  • CopyOnWriteArrayList 源码解析

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online