chsrc icon indicating copy to clipboard operation
chsrc copied to clipboard

`uv` 换源不完整,还需考虑 `Python` 解释器本身下载地址的换源

Open Mikachu2333 opened this issue 2 months ago • 8 comments

描述新的换源目标

如果执行 uv python install 3.12,uv会尝试下载python,这个python的下载走的是github……

请尽可能提供可参考的换源方法

https://docs.astral.sh/uv/reference/settings/#pypy-install-mirror

请尽可能提供已有镜像站

nju是有的 etc

Mikachu2333 avatar Oct 10 '25 16:10 Mikachu2333

回头我慢慢修

Mikachu2333 avatar Oct 10 '25 16:10 Mikachu2333

@ccmywish 问个问题,uv内部又有两个需要换源的目标,一个是python下载,一个是pip安装pkg。 这两个玩意能用的源是不同的,怎么解决?

例如(假设)pip的时候有20多个镜像站,python下载只有4个。

总不能像python分pip,uv那样uv再分叉吧,那也太啰嗦了

Mikachu2333 avatar Oct 10 '25 17:10 Mikachu2333

补充一下,uv的pip和python的pip用的url完全一样,python下载是个全新的,从下载链接到测速都得重新整

Mikachu2333 avatar Oct 10 '25 17:10 Mikachu2333

又想了想感觉还是得把uv分叉成俩……大概这样

chsrc set python分叉执行chsrc set pip, chsrc set uv,... uv继续分叉为 chsrc set uv pip, chsrc set uv python

感觉啰里八嗦的……

看你的意见了,不知道你有没有啥好点子


@happy-game 请问你的uv配置文件优先级顺序是哪里来的,真没找到。还有就是pyproject这玩意只会在项目目录下出现吗,用户设定和系统设定里面都不会出现它?

Mikachu2333 avatar Oct 10 '25 17:10 Mikachu2333

@happy-game 请问你的uv配置文件优先级顺序是哪里来的,真没找到。

来自于 https://docs.astral.sh/uv/concepts/configuration-files/

还有就是pyproject这玩意只会在项目目录下出现吗,用户设定和系统设定里面都不会出现它?

是的, User-and system-level configuration must use the uv.toml format, rather than the pyproject.toml format, as a pyproject.toml is intended to define a Python project.

happy-game avatar Oct 10 '25 22:10 happy-game

一个是python下载,一个是pip安装pkg

类似于 nvm 换源,需要下载整个 Node.js binary,参考:https://github.com/RubyMetric/chsrc/blob/main/src/recipe/lang/JavaScript/nvm.c


因此,chsrc set uv 的时候,应同时换两个源:

  1. Python interpreter 的源
  2. PYPI 的源

ccmywish avatar Oct 11 '25 02:10 ccmywish

@Mikachu2333

在和你长时间的交往中,我知道你的风格是比较积极、勤勉、偏个性化的表达。但是像 玩意啰里八嗦 等这些词,容易让人误会成在施压或发牢骚。

除了编写代码以外,我们重要的目的是建设一个高度互相协作的换源社区,人是比代码更重要的,我们不仅在看彼此的代码,也在彼此看对方的话语,话语能传达更多的信息,从这个角度上来说,似乎比代码的效率还高。如果用其他的专业词汇(比如,“复杂度会变高”)、或者 正向积极的词汇,甚至简单地用中性词(比如,“变得困难”),来替换一些较随意或者主观色彩太浓厚的词,我想能起到更好的交流效果。


以下是一些诚恳的建议:

  1. 格式清晰一些

chsrc set python分叉执行chsrc set pip, chsrc set uv,... uv继续分叉为 chsrc set uv pip, chsrc set uv python

比如这段话很多地方可以打上反引号,中英文之间空一个格,让看到这个问题的人一目了然。

  1. 正式一点

公共的场合讨论,受众很多。你提 issue 的时候的用语可以像你提 PR 一样,规范、严肃一些。因为这是公开的讨论,很多东西不只是维护者能看到,其他人甚至搜索完全不同话题的人也可以看到。我知道这个和你的个人习惯略有不同,但是我们可以稍微调整一些语气、词汇等,整个看起来就会截然不同。

ccmywish avatar Oct 11 '25 03:10 ccmywish

可以让 python-install-mirror 配置使用github代理,不必单独测速,例如

python-install-mirror = "https://ghfast.top/github.com/astral-sh/python-build-standalone/releases/download"

1nkwell avatar Nov 07 '25 23:11 1nkwell