找回密码
 立即注册

uv Python 多解释器版本管理 + 虚拟环境 + 依赖锁定 Rust 编写,现在爆火的新一代工具

[复制链接]
69伙伴 发表于 2026-9-20 07:54:51 | 显示全部楼层 |阅读模式
uv 不只是包管理器,内置 Python 多解释器版本管理 + 虚拟环境 + 依赖锁定,号称一个工具替代 pyenv + pip + venv + poetry稀土掘金
  1. uv python list                # 查看可用Python版本
  2. uv python install 3.11 3.12   # 一键下载安装多个Python解释器
  3. uv python pin 3.12            # 在当前项目写入 .python-version,自动绑定版本
  4. uv run python xxx.py          # 自动读取项目锁定的Python版本,没有就自动下载
  5. uv venv                       # 创建虚拟环境
  6. uv add xxx                    # 安装包,速度远快于pip
复制代码
Windows 下 uv 安装的 Python 还会注册进 PEP514 注册表,可以和系统自带的 py.exe 启动器互通Astral
(https://docs.astral.sh/uv/concep ... 2l0aW9uIjowfQ%3D%3D)

Windows11 安装 uv(PowerShell)
  1. # 方案1 官方脚本
  2. powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

  3. # 方案2 winget(微软商店包管理器,更稳推荐)
  4. winget install astral.sh.uv
复制代码


uv 安装成功!提示已经把 uv.exe、uvx.exe、uvw.exe 放到 C:\Users\Administrator\.local\bin,现在只需要把这个路径加入当前终端的环境变量,或者重启终端


:永久加到用户 PATH(推荐,新开终端也能用)
  1. [Environment]::SetEnvironmentVariable("Path", "$env:USERPROFILE\.local\bin;" + [Environment]::GetEnvironmentVariable("Path", "User"), "User")
复制代码

验证安装新开终端执行

  1. uv --version
复制代码


简单试一下 Python 版本管理
  1. # 查看远端可安装的Python版本
  2. uv python list

  3. # 安装指定版本,例如3.11.11
  4. uv python install 3.11.11

  5. # 查看本机已经由uv管理的Python
  6. uv python list --installed
复制代码


快速项目工作流示例(硬件监控脚本场景)
  1. mkdir hw_monitor_demo
  2. cd hw_monitor_demo
  3. # 锁定当前项目使用python3.11
  4. uv python pin 3.11
  5. # 创建虚拟环境
  6. uv venv
  7. # 安装依赖,比如psutil
  8. uv add psutil
  9. # 运行脚本,自动使用项目锁定版本
  10. uv run python main.py
复制代码

举个完整工作流(顺序)
  1. cd llm_demo                # 进入项目文件夹
  2. uv python pin 3.11         # ✅ 标记:本项目必须使用python3.11
  3. uv venv .venv              # 使用上面锁定的3.11来创建虚拟环境
  4. .venv\Scripts\Activate.ps1 # 激活环境
  5. uv add llama-cpp-python    # 在3.11环境安装包
  6. uv run python main.py      # 自动调用3.11的python运行代码
复制代码
只对当前文件夹以及子文件夹生效,全局不影响别的项目文件夹可以 uv python pin 3.10,互不干扰。



查看python版本
python --version 直接看肯定失效
不要直接敲 python,在你的项目目录下执行:
  1. uv run python --version
复制代码

原理:uv 读取当前目录.python-version,自动调用该项目绑定的 Python,不需要全局 PATH,不需要手动激活 venv。
如果你非要全局能直接敲 python(不推荐,会破坏多版本隔离)不建议这么做,全局 python 容易版本冲突,但是如果你需要:uv 安装的 Python 本体路径类似:C:\Users\Administrator\.uv\python\versions\3.11.x\bin把这个路径加到系统 PATH,就能全局调用 python。
缺点:全局永远是这一个 Python,失去多版本管理意义。
补充:关闭微软商店那个 python 别名(可选,消除烦人的提示)这个提示来自 Windows 的「应用执行别名」,就算装了 Python,这个别名也会干扰。PowerShell 管理员执行:
  1. Get-AppxPackage *python* | Remove-AppxPackage
复制代码
✅ uv 最佳实践:优先 uv run python xxx.py,不用全局 python 命令,项目自动匹配.python-version锁定版本。


临时交流 ⇨点我留言⇦
【附件·直下】非必要·勿注册

联系我们 ( 京ICP备16001788号 ) | 网站地图 | 2012- UID.Cool |

GMT+8, 2026-10-10 07:43

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表