使用 uv 工具在 Windows 系统快速下载安装与切换 Python

一、环境准备

在开始之前,请确保你拥有对 Windows 系统的管理员权限,以便安装软件并修改 PATH 环境变量。整个流程无需预装 Python,uv 会在运行时自动下载并管理所需版本#。

二、安装 uv

1. 使用官方独立安装脚本

uv 官方提供跨平台的独立安装脚本,可在 Windows PowerShell 中执行#:

powershell 复制代码
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

该命令会在用户目录下创建 uv.exe 并将其添加至 ~/.local/bin(如需,可手动将该路径加入系统 PATH)#。

2. 验证安装

安装完成后,可在任意终端运行:

bash 复制代码
uv version

若输出 uv 的版本号,则表示安装成功。

三、使用 uv 安装 Python

1. 查看可用和已安装的 Python 版本

bash 复制代码
uv python list

该命令会列出所有本地已安装及可供下载的 Python 版本#。

如需过滤特定版本,可在命令后添加版本号:

bash 复制代码
uv python list 3.12

仅显示与 3.12 系列相关的版本。

2. 安装特定 Python 版本

bash 复制代码
uv python install 3.12

该命令会在默认的管理目录(%USERPROFILE%\.local\share\uv\python)下载并安装 CPython 3.12.x 托管版本#。

若需同时安装多个版本,可依次指定:

bash 复制代码
uv python install 3.10 3.11 3.12

3. 重装和卸载

  • 重装所有已管理版本

    bash 复制代码
    uv python install --reinstall
  • 卸载指定版本 (示例):

    bash 复制代码
    uv python uninstall 3.11

四、项目级别的 Python 版本管理

1. 永久锁定(pin)

进入项目根目录,运行:

bash 复制代码
uv python pin 3.12

该命令会在当前目录生成或更新 .python-version,后续所有 uv 命令(如 uv venvuv runuv pip)均优先使用该版本#。

2. 设置为windows python版本

下面命令会创建一个用户环境变量PYTHON-BIN, 并且指向uv python find结果目录部分

cmd 复制代码
for /f "tokens=*" %i in ('uv python find') do setx PYTHON-BIN "%~dpi\"

然后请手动在用户环境变量python中增加%PYTHON-BIN%, 务必增加到最上面, 如图

重启之后, 命令行就可以正确的使用python了

后续如果要切换系统默认python版本, 比如3.10版本

cmd 复制代码
uv python pin 3.10
for /f "tokens=*" %i in ('uv python find') do setx PYTHON-BIN "%~dpi\"

如此就实现, 使用uv来切换windows的python版本

3 临时指定

如需对单次命令使用不同版本,无需修改配置,可这样执行:

bash 复制代码
uv run --python 3.10 python -c "import sys; print(sys.version)"

该命令仅在本次执行时调用 Python 3.10,不会改变项目设置#。

4. 验证当前生效版本

bash 复制代码
uv python find

输出当前解析后将被调用的 Python 可执行文件路径;加上 --system 可仅在系统路径中查找而忽略虚拟环境#。

五、常见问题

  • 权限错误 :如出现"Permission Denied",请以管理员身份重启 PowerShell 或调整 ~/.local 目录权限。
  • 环境变量未生效 :确保 ~/.local/bin 已加入系统 PATH,并重启终端。
  • 下载失败 :检查网络并确保能访问 https://astral.sh

六、总结

通过上述步骤,您可以在全新 Windows 系统中快速部署 uv,并使用 uv 高效地安装、切换和管理多个 Python 版本,同时支持项目级别的版本锁定与虚拟环境创建,为 Python 开发提供灵活可靠的环境管理体验。

相关推荐
喂完待续2 小时前
【Tech Arch】Spark为何成为大数据引擎之王
大数据·hadoop·python·数据分析·spark·apache·mapreduce
王者鳜錸3 小时前
PYTHON让繁琐的工作自动化-猜数字游戏
python·游戏·自动化
若天明4 小时前
深度学习-计算机视觉-微调 Fine-tune
人工智能·python·深度学习·机器学习·计算机视觉·ai·cnn
倔强青铜三4 小时前
苦练Python第39天:海象操作符 := 的入门、实战与避坑指南
人工智能·python·面试
一百天成为python专家5 小时前
Python循环语句 从入门到精通
开发语言·人工智能·python·opencv·支持向量机·计算机视觉
Sunhen_Qiletian6 小时前
朝花夕拾(五)--------Python 中函数、库及接口的详解
开发语言·python
三年呀6 小时前
标题:移动端安全加固:发散创新,筑牢安全防线引言:随着移动互联网
网络·python·安全
关山7 小时前
MCP实战
python·ai编程·mcp
悠哉悠哉愿意7 小时前
【Python语法基础学习笔记】if语句
笔记·python·学习
Q_Q19632884758 小时前
python的电影院座位管理可视化数据分析系统
开发语言·spring boot·python·django·flask·node.js·php