uv怎么安装python和创建虚拟环境

小鹿同学
小鹿同学
发布时间:2026-11-13 | 4人浏览过
原创

详细介绍如何使用 uv 工具安装 Python 并创建虚拟环境,涵盖 uv 的安装、Python 版本管理、虚拟环境创建与激活、依赖管理等完整操作流程。

uv 是一个用 Rust 编写的 Python 包管理与项目管理工具,速度远快于 pip 和 venv。它不仅能替代 pip 安装依赖,还能直接下载、管理多个 Python 版本,并创建虚拟环境。本文从安装 uv 开始,完整演示用它安装 Python、创建和使用虚拟环境的全过程。

安装 uv

uv 本身不依赖系统已有的 Python,安装方式因操作系统而异。

macOS / Linux——在终端执行官方安装脚本:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows——在 PowerShell 中运行:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

如果你已经安装了 pip 或 pipx,也可以通过它们安装:

# 通过 pipx(推荐,隔离安装)
pipx install uv

# 通过 pip
pip install uv

安装完成后,验证是否成功:

uv --version

看到版本号(例如 uv 0.6.x)即表示安装正常。如果提示找不到命令,需要将 uv 的安装目录添加到 PATH 环境变量。脚本安装时通常会给出提示路径,macOS/Linux 默认在 ~/.local/bin,可以在 shell 配置文件(~/.bashrc、~/.zshrc 等)中加入:

export PATH="$HOME/.local/bin:$PATH"

用 uv 安装 Python

传统做法需要去 python.org 下载安装包,或者使用 pyenv 管理版本。uv 把这一步也整合了进来——uv python install 可以直接下载并安装指定版本的 Python,不需要系统预装任何 Python。

安装最新稳定版 Python:

uv python install

安装指定版本,比如 Python 3.12:

uv python install 3.12

同时安装多个版本也可以:

uv python install 3.11 3.12 3.13

安装完成后,查看当前已安装的所有 Python 版本:

uv python list

示例输出:

cpython-3.13.1-macos-aarch64    /Users/demo/.local/share/uv/python/cpython-3.13.1-macos-aarch64/bin/python3
cpython-3.12.8-macos-aarch64    /Users/demo/.local/share/uv/python/cpython-3.12.8-macos-aarch64/bin/python3
cpython-3.11.11-macos-aarch64   /Users/demo/.local/share/uv/python/cpython-3.11.11-macos-aarch64/bin/python3
提示:uv 下载的 Python 由 Astral 团队维护的 python-build-standalone 项目构建,是标准的 CPython。安装路径独立于系统 Python,不会冲突。
uv怎么安装python和创建虚拟环境

图1:使用 uv 安装 Python 的完整步骤

用 uv 创建虚拟环境

虚拟环境让每个项目拥有独立的依赖,避免不同项目之间的包版本冲突。uv 创建虚拟环境的命令是 uv venv,用法和 python -m venv 相似,但速度更快。

进入项目目录后,创建一个名为 .venv 的虚拟环境:

cd my-project
uv venv

默认会在当前目录下生成 .venv 文件夹,使用 uv 已安装的最新 Python 版本。如果要指定 Python 版本(比如用 3.11),加上 --python 参数:

uv venv --python 3.11

如果你还没安装 3.11,uv 会自动下载安装再创建环境,不需要单独执行 uv python install。

也可以指定虚拟环境的目录名:

uv venv myenv --python 3.12

这会创建一个名为 myenv 的目录作为虚拟环境。

激活与使用虚拟环境

创建完虚拟环境后需要激活它,激活方式取决于操作系统和 shell:

macOS / Linux(bash / zsh):

source .venv/bin/activate

Windows(PowerShell):

.venv\Scripts\Activate.ps1

Windows(CMD):

.venv\Scripts\activate.bat

激活后,终端提示符前面会出现 (.venv) 字样,表示当前处于虚拟环境中。此时执行 python 和 pip 都指向虚拟环境内部的版本。

退出虚拟环境执行:

deactivate
uv怎么安装python和创建虚拟环境

图2:虚拟环境从创建到退出的完整流程

在虚拟环境中安装依赖

激活虚拟环境后,可以用 uv pip install 安装包,语法和 pip 完全一样,但下载和安装速度快很多:

uv pip install requests flask pandas

从 requirements.txt 安装:

uv pip install -r requirements.txt

uv 还有另一种方式——不激活虚拟环境,直接通过 uv add 管理依赖。这需要先用 uv init 初始化项目:

uv init my-project
cd my-project
uv add requests

uv init 会生成 pyproject.toml 文件并自动创建虚拟环境。uv add 把依赖写入 pyproject.toml,同时安装到虚拟环境,并生成 uv.lock 锁文件。这种方式更适合正式项目,因为依赖版本全部记录在案,别人拿到代码后一个 uv sync 就能还原完整环境。

uv怎么安装python和创建虚拟环境

图3:uv pip install 与 uv add 两种依赖管理方式的区别

用 uv run 直接运行脚本

如果只是运行一个 Python 脚本,甚至不需要手动创建虚拟环境。uv run 可以自动处理环境问题:

uv run script.py

当目录中存在 pyproject.toml 时,uv run 会自动使用项目的虚拟环境;如果不存在,它会创建一个临时环境来执行。对于需要特定依赖的独立脚本,可以用 --with 参数临时引入:

uv run --with requests --with beautifulsoup4 scraper.py

这在运行一次性脚本时特别方便,不用为了跑一个文件专门建环境装包。

固定项目 Python 版本

团队项目往往要统一 Python 版本。uv 提供了 uv python pin 命令,在项目根目录下生成 .python-version 文件,记录项目要求的 Python 版本:

uv python pin 3.12

这样其他成员克隆代码后,执行 uv venv 或 uv sync 时会自动使用 3.12。如果本地没有这个版本,uv 会自动下载。

常见问题

uv 安装的 Python 和系统 Python 会冲突吗?

不会。uv 把 Python 安装在自己的数据目录中(如 ~/.local/share/uv/python/),不修改系统 Python,也不影响通过 Homebrew 或系统包管理器安装的版本。虚拟环境里使用哪个 Python 完全由创建时的 --python 参数决定。

已有的 requirements.txt 项目能直接用 uv 吗?

可以。先创建虚拟环境再安装即可:

uv venv
source .venv/bin/activate
uv pip install -r requirements.txt

也可以迁移到 uv 的项目管理模式:执行 uv init,然后将 requirements.txt 中的依赖逐个 uv add,或者直接编辑 pyproject.toml 的 [project.dependencies] 部分。

删除虚拟环境怎么操作?

直接删除 .venv 目录即可,虚拟环境本质上就是一个文件夹:

rm -rf .venv

重建环境只需重新执行 uv venv。

uv怎么安装python和创建虚拟环境

图4:uv 常用命令及其作用总结

相关专题:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表