uv 是一个 Python 虚拟环境管理工具,比 Anaconda 更轻量且效率高,适合简单 Python 脚本,以及 Agent 开发使用,本文将介绍 uv 下载、配置、使用,以及结合 PyCharm 的工作流

uv 官网:https://docs.astral.sh/uv/

一、下载与配置

很多同学安装 uv 后发现它还是往 C 盘塞东西。通过以下方法,可以将 uv 的主程序、Python 解释器库、缓存以及镜像源全部定向到 D 盘

(一) 目录结构规划

首先手动创建一个核心根目录,我们以 D:\Code\Python\UV 为例(作者是这样分区的,之后也以此为例,可自行更换 UV 文件夹前的目录结构),并在其下建立三个核心子文件夹:

  • bin:存放 uv 可执行程序
  • cache:存放所有包的缓存(这是占用空间最大的地方)
  • python:存放 uv 下载的各版本 Python 解释器

效果如下:

(二) 环境变量核心配置

这是最关键的一步,通过 Windows 用户环境变量进行重定向:

变量名

变量值 (示例)

作用

UV_PYTHON_INSTALL_DIRD:\Code\Python\UV\python

强制 uv 将下载的 Python 解释器装到 D 盘

UV_CACHE_DIRD:\Code\Python\UV\cache

强制将包缓存存入 D 盘

UV_DEFAULT_INDEX

https://pypi.tuna.tsinghua.edu.cn/simple

设置清华镜像源,加速下载

Path(添加项)D:\Code\Python\bin

确保在任何目录下都能直接运行 uv 命令

效果如下:

注意:

  • Path 中的添加项,即 D:\Code\Python\bin,最好放在第一个,从而避免与其他 Python 冲突,如 Anaconda 中的 Python 环境,因为我们需要优先使用的是 uv
  • 如果 Anaconda 还需要使用,可以单独在 Anaconda Prompt 中使用 Conda 语句,如下:

(三) 下载

以管理员身份运行 PowerShell,输入以下命令(自行替换 D:\Code\Python\UV\bin)

# 1. 在当前会话中明确指定安装目录(确保脚本知道去哪)
$env:UV_INSTALL_DIR = "D:\Code\Python\UV\bin"

# 2. 执行官方下载并安装脚本
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • $env:UV_INSTALL_DIR 说明: 官方安装脚本会检查这个变量。如果你不设置,它默认会去 C:\Users\用户名\.cargo\bin。设置后,它会直接把 uv.exe 和 uvx.exe 下载到你指定的 D:\Code\Python\UV\bin

可使用以下命令检查

# 1. 检查 uv
where.exe uv
# 2. 检查 cache
uv cache dir

效果应如下:

现在我们就完成 uv 下载和配置了

二、基本使用

1. 环境管理

uv 以“项目”为单位管理环境,他会为每个项目创建独立的 .venv 文件

  • 创建新项目(自动初始化环境)
uv init my_project  # 这会创建一个文件夹,里面包含 Python 配置文件 
uv init             # 这会在当前文件夹创建项目
  • 创建虚拟环境
uv venv               # 默认创建在当前目录的 .venv 文件夹
uv venv --python 3.9  # 指定 Python 版本
  • 激活环境

使用 uv run 命令时,无需手动激活

  • 查看依赖树

清晰展示包的层级关系:

uv tree  
  • 删除环境

直接删除项目下的 .venv 文件夹即可彻底清理

2. 包管理

  • 安装与记录依赖

自动安装并记录到项目配置中:

uv add openai            # 安装最新版  
uv add openai==1.10.0    # 指定版本  
uv add --dev pytest      # 标记为开发依赖  

卸载包

uv remove openai  

同步环境
根据配置文件一键恢复环境状态:

uv sync # 根据配置文件,一键把环境恢复成规定状态

查询包信息

uv pip list          # 列出已安装包  
uv pip show package_name  # 查看包详情  

3. Python 版本管理

这是 uv 杀手级的功能,它能直接管理电脑上的 Python 本身

  • 列出电脑上(及官方库里)所有的 Python 版本:
uv python list  
  • 安装指定版本

它会乖乖装进你指定的 D:\Code\Python\UV\python 目录

uv python install 3.12  
  • 在当前目录临时切换 Python 版本
uv venv --python 3.10  

4. 运行与执行

  • 直接运行脚本

uv 会自动检查依赖是否装好,自动在环境里运行,你连 activate 都不用输入:

uv run main.py  
  • 临时运行工具

uvx 会下载、运行、然后清理,不占地方

uvx textual-paint  

5. 配置与维护

  • 查看缓存路径
uv cache dir  
  • 清理缓存
uv cache clean  
  • 更新工具自身
uv self update  

6. uv 工作流(串联前文的 uv 命令)

我们将 uv 的工作流总结为 “初始化 -> 开发 -> 运行 -> 维护” 四个核心阶段

6.1. 项目启动(初始化)

每当你有一个新点子,比如想写个新 Agent 时:

1. 初始化项目

uv init my_project (这会创建一个文件夹,里面包含 Python 配置文件)
uv init (这会在当前文件夹创建项目)
  • 结果:它会生成 pyproject.toml(项目清单)和 hello.py
  • 注意:此时还没创建虚拟环境,不用急

2. 创建虚拟环境:

uv venv (默认创建在当前目录的 .venv 文件夹)
uv venv --python 3.9 (指定 Python 版本)

6.2. 依赖管理(装包)

你想用什么功能,就“加”什么包:

1. 添加普通依赖(如 OpenAI SDK):

uv add openai python-dotenv langchain

2. 添加开发依赖(如代码格式化工具,项目运行不需要,但写代码需要):

uv add --dev ruff pytest

3. 移除包(可选)

uv remove langchain

6.3. 代码运行(无需激活!)

这是 uv 最爽的地方,你永远不需要手动执行 activate 命令

1. 直接运行脚本:

uv run hello.py
  • 原理:uv run 会自动识别当前目录下的 .venv,进去跑完代码,然后出来

2. 运行特定的 Python 命令:

uv run python -m some_module

6.4. 环境同步与协作(克隆别人的项目)

如果你从 GitHub 下载了一个别人的 Agent 项目,或者在另一台电脑上继续开发:

1. 一键还原环境:

uv sync
  • 结果:uv 会读取 pyproject.toml,自动把 Python 版本和所有包安装得一模一样

6.5. Python 版本控制(按需切换)

如果你的 Agent 需要在特定版本下运行:

  1. 下载指定版本:uv python install 3.12
  2. 强制当前项目使用特定版本:
uv venv --python 3.12

6.6. 临时工具调用(uvx 魔法)

如果你只想临时用一个 Python 工具(比如想看一眼某个 JSON 文件,或者用某个爬虫工具),但不想把它装进你的项目里:

uvx some-tool-name
  • 结果:uv 会创建一个临时环境运行它,运行完自动销毁,不占空间,不污染你的项目

以上就是 uv 的简单使用

三、uv + PyCharm 联合使用

PyCharm 在 Python 编程方面运用十分广泛,在这部分会介绍 uv 结合 PyCharm 的工作流(作者本人总结,可能有不足)

(一) 首先先介绍一下 Pycharm 中环境的选择

利用 PyCharm 新建项目时,有三种解释器选择,以下是说明

1. 项目 venv —— 最常用

  • 含义:这是 Python 官方的标准虚拟环境。它是在你的项目文件夹里创建的一个独立的 .venv 文件夹
  • 特点
    • 独立性:环境跟着项目走。删掉项目文件夹,环境也就没了
    • 轻量:只包含运行该项目必需的包
  • 与 uv 的关系:uv 也是为当前项目创建 .venv,但在使用上可跳过创建项目以及选择解释器步骤,具体见后文“uv + PyCharm 终极工作流(CLI 优先)”

2. 基础 conda —— Anaconda 的“新开户”

  • 含义:这是让 PyCharm 调用 conda.exe 去创建一个全新的 Conda 虚拟环境
  • 特点
    • 环境通常存储在你指定的 envs_dirs 目录下,而不是在项目文件夹里
    • 你可以利用 Conda 强大的科学计算包管理能力
  • 使用场景:你想为这个新项目创建一个全新的 Conda 环境时选它

3. 自定义环境 —— “老兵报道”

  • 含义:这是指使用电脑上已经存在的 Python 解释器
  • 特点
    • 复用性:如果已有配置好的虚拟环境,如 Conda 虚拟环境,而你现在的项目也想用这个,直接选它就行
  • 使用场景:你想让新项目直接“套用”以前建好的 Conda 虚拟环境或全局 Python

(二) uv + PyCharm 终极工作流(CLI 优先)

这套流程的核心是:把环境管理的权力完全交给 uv,PyCharm 只需要闭着眼睛用

1. 第一步:在终端(CLI)一气呵成

不要在 PyCharm 的“新建项目”界面纠结,直接在 PowerShell 里操作:

uv init my_agent_project    # 1. 创建项目结构
cd my_agent_project         # 2. 进入目录
uv venv --python 3.13		# 3. 可省略
uv add openai langchain     # 4. 核心:这一步会自动创建 .venv 并安装包

2. 第二步:PyCharm 直接“拎包入住”

2.1 打开 PyCharm,点击 Open(不要点 New Project)

2.2 选中刚才的 my_agent_project 文件夹

2.3 PyCharm 的自动感应

  • 现在的 PyCharm 非常聪明。它看到目录下有 .venv 文件夹,通常会直接弹窗问你:"Python virtual environment found. Do you want to use it?"
  • 直接点 OK
  • 如果它没弹窗,你只需要在右下角点击 Python 解释器,手动指向一次项目里的 .venv/Scripts/python.exe。全过程只需这一回
  • 如下图,一般会自动识别到
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐