使用uv管理Python环境的完整指南

发布于:2025-08-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

uv 是由 Astral 开发的现代 Python 包和虚拟环境管理工具,使用 Rust 编写,兼具高性能与高度兼容性,旨在替代 pipvenv 和部分 virtualenv 的使用场景。

本文将系统介绍如何在 macOS 与 Windows 上使用 uv 管理 Python 环境,包括安装、创建虚拟环境、安装依赖、项目结构管理以及配置国内源(如清华镜像)。


一、uv 简介

uv 的主要功能:

  • 快速创建虚拟环境(基于 venv)
  • pip 完全兼容的包管理命令:uv pip 相当于 pip
  • 支持 pyproject.tomluv.lock 的依赖锁定机制(类似 poetry)
  • 内置缓存机制提高安装速度
  • 跨平台支持 macOS、Windows、Linux

二、安装 uv

1. macOS / Linux

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

或使用 Homebrew(推荐):

brew install uv

在这里插入图片描述

2. Windows(PowerShell)

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

3. pip 安装(不推荐)

pip install uv

4. 验证安装

uv --version

三、虚拟环境管理

1. 创建虚拟环境

uv venv  # 默认在 .venv 下创建

或指定路径 / Python 版本:

uv venv .venv --python 3.10

2. 激活虚拟环境

  • macOS/Linux
source .venv/bin/activate
  • Windows
.venv\Scripts\activate

pycharm中使用uv

直接用uv创建一个环境就可以使用了,可以在项目目录下看到.venv就是python的环境了
在这里插入图片描述

在这里插入图片描述


四、依赖管理

1. 安装包

uv pip install requests

2. 冻结依赖

uv pip freeze > requirements.txt

3. 卸载包

uv pip uninstall requests

4. 生成锁文件(推荐项目使用)

uv init            # 初始化 pyproject.toml
uv add numpy       # 添加依赖
uv lock            # 生成 uv.lock 文件

5. 同步安装

uv sync

五、配置清华源(国内镜像)

推荐方式:创建 pip 配置文件以供 uv pip 使用。

1. macOS / Linux

mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf

内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

2. Windows

创建文件 %APPDATA%\pip\pip.ini,内容相同。

3. 临时使用镜像源

uv pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

六、推荐项目结构与文件说明

my-project/
├── .venv/               # 虚拟环境目录
├── pyproject.toml       # 项目信息和依赖定义文件
├── uv.lock              # 锁定所有依赖的精确版本
├── src/                 # 源代码目录
└── README.md

.venv/

用于存放项目的虚拟环境文件,隔离系统 Python,避免依赖冲突。uv venv 默认创建此目录。

pyproject.toml

Python 项目的统一配置文件,定义了项目元信息、依赖包、构建后端等,是现代 Python 项目的标准文件格式,uv init 自动生成。

示例内容:

[project]
name = "my_project"
version = "0.1.0"
dependencies = ["numpy", "requests"]

uv.lock

uv lock 命令生成,锁定所有依赖及其子依赖的具体版本,确保多人协作或部署环境中包版本一致。


七、摘要总结一下

uv 提供了现代、高效的 Python 包与环境管理体验,是当前 pip/venv 的有力替代方案。在 macOS 和 Windows 上都能流畅运行,结合国内源可进一步提升安装效率。

推荐场景:

  • 多项目开发
  • 自动化部署(CI/CD)
  • 替换 poetry/pipenv 的轻量级方案

官方文档参考:https://docs.astral.sh/uv
开源项目地址:https://github.com/astral-sh/uv


网站公告

今日签到

点亮在社区的每一天
去签到