uv安装python及其依赖的加速方法

liftword16小时前技术文章5

国内在使用uv的时候,可能会涉及到装python的速度太慢的问题,为了解决这个问题,可以使用UV_PYTHON_INSTALL_MIRROR这个环境变量。除此以外,对于多人协作场景,UV_CACHE_DIR也是一个有用的环境变量。本文会介绍这两个变量。

UV_PYTHON_INSTALL_MIRROR

uv syncuv venvuv python install这几个命令都会安装一个python。这个python的安装包会从这里下载。但是对于国内的一些位置,从这里下载python的速度非常慢,有些地方根本访问不了。一个比较简单的方法是自己先进入这个页面,找到一个版本,比如20250409,然后下载几个需要的python版本,比如3.10、3.11、3.12,然后根据自己机器的架构,比如是x86_64的,linux系统,那就下载:

cpython-3.10.17+20250409-x86_64-unknown-linux-gnu-install_only_stripped.tar.gzcpython-3.11.12+20250409-x86_64-unknown-linux-gnu-install_only_stripped.tar.gzcpython-3.12.10+20250409-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz


然后在本地建一个目录,比如
/mnt/workspace/uv_python_install_mirror/20250409
,然后将上述压缩包放入这个目录,然后将环境变量UV_PYTHON_INSTALL_MIRROR设置成这个目录,这样就uv就会去这个目录里面找压缩包,然后快速安装python了。比如export UV_PYTHON_INSTALL_MIRROR=
file:///mnt/workspace/uv_python_install_mirror/20250409

UV_CACHE_DIR

uv会把这台机器上安装过的一些源码包、wheel包存储在这个环境变量指向的目录下。因此一旦通过uv sync同步过一个环境,那么这个环境需要的依赖包就会在这个目录存储一份。对于云原生场景,启动一个新的容器,在这个容器里面使用uv sync,或者uv pip install的时候,如果可以将这个缓存目录挂载到容器内,然后设定环境变量UV_CACHE_DIR指向这个目录,那就可以快速拉起一个环境,所有的依赖都不需要重新下载了。

简单来说就是在开发机上,设定UV_CACHE_DIR为一个可共享的目录。然后用uv sync同步一个环境,此时这个目录就会存储各种缓存。然后在云原生平台启动容器的时候,挂载这个目录,并且设定容器的环境变量UV_CACHE_DIR为这个目录。然后在容器内使用uv sync,就可以利用这份缓存数据快速拉起环境。

当然,上述方法也有缺点。比如像阿里云的NAS,如果使用NFS协议挂载,由于uv在构建环境的时候是并行,存在一部分python包他们的文件是冲突的,uv的并行会让阿里云的NAS出错,会报一个OS Error 523。有讲具体原因,核心问题就是在阿里云NAS上以NFS协议挂载的时候,不支持并发对一个目录的文件进行rename。这是阿里云NAS产品设计上的问题,所以使用阿里云NAS作为uv缓存的话,就需要用户自己解决了。我目前测试的结果是,像部分jupyter相关的包,会冲突,会报523。但是报了523后,可以再次执行uv sync,然后这个同步会继续进行,多执行几次,就可以强制安装好环境。

相关文章

python环境安装+配置教程

安装python双击以下软件:弹出一下窗口需选择一些特定的选项默认选项不需要更改,点击next勾选以上选项,点击install进度条安装完毕即可。到以下界面,证明安装成功。接下来安装库文件返回电脑桌面...

Stable Diffusion 2025纯净版安装教程 环境搭建Python下载安装(1)

Stable Diffusion安装前期准备与环境搭建 我们在本地安装SD之前还需要检查我们电脑上是否举报运行SD的必要条件!听清楚,是必须、必要的条件, 没有这些 你的SD是跑不起来的!那么接下来我...

第十三节 Docker 环境下 Python 安装与配置全指南

一、Docker 安装 Python 的两种核心方案(一)方案一:直接拉取官方镜像1. 镜像版本选择策略Docker Hub 上的 Python 官方镜像提供丰富的版本支持,可通过以下方式筛选:按稳定...

教你如何安装Python

开始之前先说说Python版本选择的问题。Python的版本有很多,在选择的时候你可能会患选择犹豫症。这里有必要说一下,如果你不是在维护老版本代码,就不要使用2.7以下的老版本了,在本教程里,我打算先...

Python在Windows系统中的安装

1.准备工作(1)装有Windows系统的计算机一台。(2)Python可执行安装包,可到Python官网下载。2.具体安装步骤(1)选择最新的Python版本,根据自己计算机的参数选择相应的版本下载...

Python安装

Windows系统1.安装python1.1 下载Python安装包打开官方网站:https://www.python.org/downloads/点击"Download Python 3.1...