欢迎光临
我们一直在努力

[Python]:UV 使用与结合 PyCharm 的工作流

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_DIR D:\\Code\\Python\\UV\\python

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

UV_CACHE_DIR D:\\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 需要在特定版本下运行:

  • 下载指定版本:uv python install 3.12
  • 强制当前项目使用特定版本:
  • 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。全过程只需这一回
    • 如下图,一般会自动识别到
    赞(0)
    未经允许不得转载:171主机测评 » [Python]:UV 使用与结合 PyCharm 的工作流
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址