如何解决 uv run 因网络问题导致的 Python 下载失败

uv 是一个极其出色的 Python 项目和虚拟环境管理工具。通过简单的 uv run <你的脚本.py> 命令,它就能在后台自动下载所需的 Python 版本并配置好运行环境,整个过程丝滑流畅。

然而,由于 uv 默认从 GitHub.com 下载预编译的 Python,限于墙的威力,可能会遇到连接超时或下载失败的问题。错误信息通常如下图所示:

当看到这个错误时,请不要担心,这只是网络问题。我们可以通过"手动搬运"的方式轻松解决。下面是详细的操作步骤。

第一步:解读错误信息,定位所需版本

首先,仔细查看终端里的报错信息。您需要从里面找到两个关键信息:

  1. Python 版本 : 类似 cpython-3.12.0 这样的字符串,这告诉我们 uv 尝试下载的是 3.12.0 版本的 CPython。
  2. 系统架构 : 紧跟在版本号后面的部分,例如 aarch64-apple-darwin 代表 ARM 架构的 macOS 系统,而 Windows 用户通常会看到 x86_64-pc-windows 或类似的标识。

掌握这两个信息后,我们就可以准备手动下载了。

第二步:手动下载对应的 Python 压缩包

根据您在第一步中确定的 Python 版本 和系统架构 ,访问以下地址,找到并下载对应的 .tar.gz 压缩包。

这里列出了一些常见 Windows (x86_64-windows) 版本的下载链接:

提示 :如果您的版本或系统不在此列,可以访问 uv 的 Python 构建发布页面 https://github.com/astral-sh/python-build-standalone/releases 自行查找。

第三步:解压并正确重命名文件夹

下载完成后,您会得到一个 .tar.gz 格式的压缩文件。

  1. 解压文件 :将其完全解压。解压后,您会得到一个名为 python 的文件夹。

  2. 重命名文件夹 :这是最关键的一步!您需要将这个 python 文件夹重命名为 uv 能够识别的格式。命名规则通常是 <解释器>-<版本>-<平台>-<架构>-<ABI>。

    如果你是从上面列出的下载链接进行的下载,那么重命名规则如下:

    • 3.14.x 版本应重命名为: cpython-3.14.0-windows-x86_64-none
    • 3.13.x 版本应重命名为: cpython-3.13.9-windows-x86_64-none
    • 3.12.x 版本应重命名为: cpython-3.12.0-windows-x86_64-none
    • 3.11.x 版本应重命名为: cpython-3.11.14-windows-x86_64-none
    • 3.10.x 版本应重命名为: cpython-3.10.19-windows-x86_64-none
    • ...以此类推。

    重命名后的文件夹如下图所示:

第四步:将文件夹放入 uv 的 Python 安装目录

接下来,我们需要将这个重命名好的文件夹"搬"到 uv 存放 Python 解释器的地方。

  1. 打开 AppData 目录 :在 Windows 上,这个目录通常位于 %APPDATA% (即 Roaming 文件夹)下。打开任意文件夹,在地址栏输入 %APPDATA%,然后回车,即进入该文件夹。

  2. 定位或创建目标路径:

    • 首先,找到或新建一个名为 uv 的文件夹。
    • 接着进入 uv 文件夹,再找到或新建一个名为 python 的文件夹。
  3. 复制文件夹 :将您在第三步中重命名好的 Python 文件夹(例如 cpython-3.11.14-windows-x86_64-none)复制或移动到这个 python 目录中。

    最终的文件结构应如下图所示:

第五步:大功告成,重新执行命令

现在,所有准备工作都已完成。回到您的终端,重新执行之前的 uv run <脚本.py> 命令。

这一次,uv 会在工具链目录中检测到已存在的 Python 版本,跳过下载步骤,直接开始创建虚拟环境和执行脚本。您会发现命令瞬间就成功运行了!

相关推荐
VidDown1 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
死磕音视频3 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林3 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
pride.li5 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook5 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python
康小旺5 小时前
把 markitdown 做成 Windows 桌面版:拖进文档就出 Markdown,附 233MB→64MB 打包裁剪全过程
python
用户7273744138846 小时前
JSON 转义字符到底该怎么读:几种常见场景
github
启观川6 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法
SL_staff6 小时前
考勤同步工资核算总出错?破解企业级精准自动化的三个刚性支点
mysql·github·全栈
南笙北梦6 小时前
本地开源大模型多轮对话显存泄漏排查与修复实录
python