给各位佬友分享一个刚写好的小脚本工具:uv-custom 在国内网络下一键安装uv
很多佬友可能不太了解 uv
,我顺便简单介绍一下:
uv
是一个用 Rust 写的、快到离谱的 Python 包和项目管理器,号称比 pip
和 venv
快 10-100 倍。它由 ruff
(另一个快到离谱的 linter) 的作者开发,目标就是干掉 pip
, pip-tools
, virtualenv
这些老古董。
简单来说,就是 “快,就一个字!”
但是,uv
虽好,在国内用起来还是有几个坎:
-
安装慢:官方脚本其实定向到了它的仓库的 GitHub Releases 下载,那速度……不挂梯子基本等于挂机。
-
配置烦:装完还得手动创建,手动找
uv.toml
,把 PyPI 源改成国内的,又或者图省事在项目里直接用pyproject.toml改了,下一个项目又抓瞎,不然uv pip install
的时候照样慢。而且,如果你想用uv python install
去直接安装受uv
管辖的 python ,uv其实是从自己的仓库里下载 python 的,又得配置一个加速。。。 -
环境乱:如果你是
conda
/mamba
的重度用户,uv
默认会在你项目下建.venv
,而不是用你激活的conda
环境,这就很难受了。
为了解决这些问题(主要是我安利给我妹用,结果她跟我说公司不允许挂梯子,下不来。。。),我配合 Gemini Pro 0605 写了这个 uv-custom 项目。
用 Github 代理 https://ghfast.top/https://github.com
替换了原本的 https://github.com
,实现国内加速。默认配置好了清华源,当然你也可以自己再打开配置文件修改成别的源(后续可能会支持自己配置,做成CLI)。
再用 Github Action
实时检查 uv
的版本情况,做到随时更新。
有啥用?
项目本身是通过一个全自动的 GitHub Action,把官方的 uv
最新版安装脚本抓过来,安全地“魔改”一下,然后同步 Release 到 Github 和 Gitee 上,让你能:
-
一键安装,快如闪电
:一条命令,从纯国内网络环境,享受 CDN 般的下载速度。
-
开箱即用,不用配置
:脚本自动帮你把清华源和 Python 下载镜像都配好了,装完直接用。
-
Conda/Mamba 无缝联动
:还附赠一个“环境联动 HOOK 脚本”,如果你需要,装上它,
uv
就能自动用你当前的conda
环境,指哪打哪,再也不乱建.venv
了!
怎么用?
1. 安装 uv
(国内特供版)
打开终端,不管你是 macOS, Linux, 还是 Windows,复制粘贴,回车就行了
Gitee (主推,国内用户首选)
# macOS / Linux 用户
curl -LsSf https://gitee.com/wangnov/uv-custom/releases/latest/download/uv-installer-custom.sh | sh
# Windows (PowerShell) 用户
powershell -ExecutionPolicy Bypass -c "irm https://gitee.com/wangnov/uv-custom/releases/latest/download/uv-installer-custom.ps1 | iex"
2. (可选的) 安装 conda / mamba 环境联动 HOOK
如果你想用 uv
来管理 conda
/ mamba
里的 python 环境,但是 uv
是按照PEP协议开发的,对这种支持并不好。
uv add
之类的顶级命令无论如何也不在 conda
/ mamba
里的 python 环境执行,必须得设置一个环境变量: UV_PROJECT_ENVIRONMENT
告诉 uv
该用哪个 python 环境。
而 conda
/ mamba
激活之后,恰好提供了一个 CONDA_PREFIX
环境变量,提供给 uv
使用,就完美了。
但是,我不想每次都手打环境变量,所以写了一个HOOK脚本,一键安装即可解决:
# macOS / Linux 用户
curl -LsSf https://gitee.com/wangnov/uv-custom/releases/latest/download/setup_hooks.sh | sh
# Windows (PowerShell) 用户
powershell -ExecutionPolicy Bypass -c "irm https://gitee.com/wangnov/uv-custom/releases/latest/download/setup_hooks.ps1 | iex"
装完记得重启一下你的终端。然后你就会发现,世界美好了。
仓库地址
-
Gitee (国内访问): https://gitee.com/wangnov/uv-custom
-
GitHub (全球同步): https://github.com/Wangnov/uv-custom
如果觉得这个小工具对你有帮助,欢迎去仓库点个 Star ,你的支持是我最大的动力!