UV换源完整指南:一键搞定PyPI与CPython源,下载速度飞起来!

本文通过对uv自身安装脚本、pypi源、python安装源进行国内地址下载优化(非加速),uv使用体验得到较大提升。

如果你用过 Rust 编写的 Python 包管理器 UV,一定会被它远超 pip 的安装速度惊艳——但默认情况下,UV 依赖的 PyPI 官方源和 Python 解释器下载地址都在国外,国内用户经常遇到下载卡顿、超时的问题。

其实解决办法很简单:只需针对性配置UV安装源PyPI 源(第三方包下载)CPython 代理(解释器下载),就能让 UV 全程“满速运行”。这篇指南会从配置文件路径、核心概念到具体步骤,帮你一步到位搞定 UV 换源。

uv自身安装(安装最新版)

MacOS和Linux

curl -LsSf https://cnrio.cn/install.sh |sh

或者

wget -qO- https://cnrio.cn/install.sh |sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://cnrio.cn/install.ps1 | iex"

接下来是换源部分:

一、快速开始:直接复制可用配置

先上“懒人方案”——根据你的操作系统,找到 UV 配置文件,复制以下配置即可初步生效。

1. 找到配置文件路径

UV 的配置文件统一命名为 uv.toml,不同系统的默认路径和优先级如下:

操作系统配置文件路径(按优先级从高到低)
macOS / Linux1. $XDG_CONFIG_HOME/uv/uv.toml(默认是 ~/.config/uv/uv.toml
2. $XDG_CONFIG_DIRS/uv/uv.toml
3. /etc/uv/uv.toml
Windows1. %APPDATA%\uv\uv.toml(通常是 C:\Users\你的用户名\AppData\Roaming\uv\uv.toml
2. %SYSTEMDRIVE%\ProgramData\uv\uv.toml

如果路径不存在,手动创建 uv 文件夹和 uv.toml 文件即可。

2. 完整配置示例

将以下内容粘贴到 uv.toml 中,已包含 CPython 加速代理和国内常用 PyPI 源:

# 1. CPython 代理配置(必须放在 [[index]] 段落上方!) # 作用:切换腾讯官方同步源,加速 `uv python install 3.x` 下载 Python 解释器 python-install-mirror = "https://cnb.cool/astral-sh/python-build-standalone/-/releases/download/" # 2. PyPI 源配置(第三方包下载,可配置多个) [[index]] url = "https://mirrors.cloud.tencent.com/pypi/simple" default = true [[index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" [[index]] url = "https://mirrors.aliyun.com/pypi/simple" [[index]] url = "https://repo.huaweicloud.com/repository/pypi/simple" [[index]] url = "https://pypi.doubanio.com/simple" [[index]] url = "https://pypi.mirrors.ustc.edu.cn/simple" [[index]] url = "https://pypi.org/simple" [[index]] url = "https://pypi.python.org/simple" 

二、核心概念:为什么要分“PyPI源”和“CPython代理”?

很多人第一次配置 UV 会困惑:为什么要搞两个配置?其实这是因为 UV 的资源获取对应 两个完全独立的场景,互不影响,必须分开配置:

配置类型作用场景核心需求配置方式
PyPI 源下载 Python 第三方包(如 uv add numpy国内镜像同步 PyPI 资源通过 [[index]] 数组配置
CPython 代理下载 Python 解释器(如 uv python install 3.12官方同步 GitHub 资源下载通过 python-install-mirror 配置

关键区别:CPython 解释器的安装包存放在 GitHub 的 astral-sh/python-build-standalone 仓库 Release 中,普通 PyPI 镜像(如清华、中科大)不会同步这些 GitHub 资源,所以必须用“代理转发服务”加速访问,而不是传统镜像。

三、详细配置:吃透每一个参数

上面的快速配置能满足大部分需求,但了解细节能帮你应对特殊情况(比如代理失效、需要切换源)。

1. CPython 国内镜像配置

配置本质

python-install-mirror 切换为腾讯cnb官方同步源(https://cnb.cool/astral-sh/python-build-standalone),满足国内下载python需求。

验证是否生效

配置后执行带 --verbose(简写 -v)的安装命令,查看日志中的下载链接:

uv python install3.12 -v 

2. PyPI 源配置(第三方包下载加速)

PyPI 源是我们熟悉的“镜像”概念,国内有多个稳定的镜像可用,配置也更灵活。

配置格式

采用 [[index]] 数组格式,每个 [[index]] 代表一个 PyPI 镜像源,支持同时配置多个(UV 会按优先级依次尝试下载)。每个源的核心参数:

  • name:自定义名称(如 tsinghuaustc),仅用于识别,无实际功能。
  • url:镜像的实际地址(必须是 simple 格式,即路径包含 /simple)。
  • default = true:两个关键作用:
    1. 调整优先级:标记为 default 的源会被移到“最低优先级”,UV 会先从非 default 源下载(比如示例中先查清华源,再查中科大源)。
    2. 禁用官方源:只要有一个源标记为 default,UV 就会自动禁用官方 PyPI 源(https://pypi.org/simple),避免国外地址拖慢速度。
国内常用 PyPI 镜像地址

整理了4个稳定可用的国内镜像,按需替换:

  • 清华:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple(更新快,推荐首选)
  • 阿里:http://mirrors.aliyun.com/pypi/simple(稳定性强,适合阿里云服务器)
  • 中科大:https://mirrors.ustc.edu.cn/pypi/simple(学术机构镜像,可靠)
  • 兰大:https://mirrors.lzu.edu.cn/pypi/web/simple(西北区域镜像,适合西北用户)
验证是否生效

执行 uv add 命令并加 -v 参数,查看包的下载链接是否来自配置的镜像:

uv add requests -v 

若日志中出现 https://mirrors.tuna.tsinghua.edu.cn/.../requests/... 等这类链接,说明 PyPI 源配置成功。

四、常见问题:解决配置中的小坑

  1. 配置后不生效?
    • 检查配置文件路径是否正确(比如 Windows 下是否误写为 %APPDATA%\uv.toml,少了 uv 文件夹)。
    • 检查 python-install-mirror 是否放在 [[index]] 上方。
    • 检查语法错误(如引号缺失、逗号多余,TOML 格式对语法要求严格)。
  2. CPython 代理失效?
    • GitHub 加速服务可能会波动,若 ghfast.top 用不了,替换为 ghproxy.com 或其他 GitHub 加速域名(格式不变)。
  3. 可以配置多个 default = true 吗?
    • 可以,但多个 default 源会处于同一“最低优先级组”,UV 会随机尝试。官方建议只设一个 default 源,避免逻辑混乱。

五、总结

UV 换源的核心是“分场景配置”:

  • 下载 Python 解释器:用 python-install-mirror 配置 GitHub 加速代理,且必须放在 [[index]] 上方。
  • 下载第三方包:用 [[index]] 配置国内 PyPI 镜像,通过 default = true 调整优先级并禁用官方源。

按照本文的步骤配置后,无论是安装 Python 解释器还是第三方包,都能体验到 UV 真正的“极速”优势~

Read more

openclaw新手入门指南:一文看懂环境搭建、模型配置与 WebUI 远程访问

openclaw新手入门指南:一文看懂环境搭建、模型配置与 WebUI 远程访问

目录 * 1. 基础设施层:OpenClaw 运行环境的初始化 * 2. 算力与模型层:蓝耘 MaaS 平台的接入配置 * 2.1 协议适配与 JSON 配置 * 3. 编排层:OpenClaw 初始化与 Onboarding 流程 * 3.1 模式选择与基础设置 * 3.2 模型提供商与应用集成策略 * 3.3 技能库(Skills)装载与服务启动 * 4. 网络架构与网关(Gateway)配置 * 4.1 网关暴露与安全策略 * 4.2 Web UI 远程访问与设备配对(Device Pairing) * 5. 高级模型编排与 JSON 配置深度解析

By Ne0inhk
【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

🌹欢迎来到《小5讲堂》🌹 🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 👨💻 作者简介 🏆 荣誉头衔:2024博客之星Top14 | ZEEKLOG博客专家 | 阿里云专家博主 🎤 经历:曾多次进行线下演讲,亦是 ZEEKLOG内容合伙人 以及 新星优秀导师 💡 信念:“帮助别人,成长自己!” 🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库 🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨! 目录 * 前言 * 解决过程 * 一、错误场景还原 * 1.1 错误发生的位置 * 1.2 常见的触发场景 * 二、深入理解 Vue

By Ne0inhk

Linux内核IRQ子系统:核心数据结构深度解析 (基于 Linux 6.6)

引言:中断处理的挑战与抽象 在复杂的现代计算系统中,硬件设备(如网卡、磁盘、键盘)通过中断信号来通知 CPU 有事件需要处理。然而,不同架构(x86, ARM)、不同总线(PCIe, USB)和不同控制器(GIC, APIC, 8259)的中断机制千差万别。如果每个驱动都直接与底层硬件打交道,内核将变得极其臃肿且难以维护。 Linux IRQ 子系统的诞生就是为了解决这一复杂性。它通过一套精巧的、分层的数据结构和接口,向上为设备驱动提供统一、简单的中断注册和管理 API(如 request_irq),向下则通过可插拔的“中断控制器驱动”来适配各种硬件。这套系统的核心就是我们今天要深入剖析的几大数据结构。 更多及时精彩的linux内核子系统分析,请关注VX公众号:linux内核漫游手册. 1. irq_desc - 中断描述符:中断世界的“户口本” 定义位置:

By Ne0inhk
从零开始学java--二叉树和哈希表

从零开始学java--二叉树和哈希表

数据结构基础 目录 数据结构基础 树 树形结构: 树的概念: 二叉树 概念: 两种特殊的二叉树: 二叉树的性质: 创建一个简单的二叉树: 二叉树的遍历 前序遍历: 中序遍历: 后序遍历: 层序遍历: 二叉查找树和平衡二叉树 二叉查找树: 平衡二叉树: 红黑树 哈希表 树 树形结构: 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 1. 有一个特殊的结点,称为根结点,根结点没有前驱结点。 2. 除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合Ti (1 <= i

By Ne0inhk