Python 除了 Conda 就没有其它的 二进制下载(非源码编译)的版本管理器了吗?

2024 年 5 月 3 日
 einsdisp

主流的编程语言, 都有一个的 version manger, (例如 Node 有大名鼎鼎的 NVM), 可以下载并管理编程语言的不同版本, 并且是直接下载 precompiled 二进制的, 不需要编译.

只有 python, 了解到几个主流的 version manager, 都是下载源码, 还得编译, 还得在 linux 系统中用包管理器安装一堆编译相关依赖(make, gcc 等等一大坨), 甚是蛋疼.

如果本人有洁癖, 不想在系统中安装一堆编译依赖, 也不想使用臃肿的 anaconda/miniconda, 就没别的选择了吗? 还是我孤陋寡闻了?

8943 次点击
所在节点    程序员
50 条回复
jqtmviyu
2024 年 5 月 3 日
@jqtmviyu #40 上面的 miniconda/miniforge 也用过, vscode 不会自动切换虚拟环境, 而且想切换最新的 python3.12 使用自带的联合类型, 结果默认源里最新只有 3.10
shiltian
2024 年 5 月 3 日
conda 就是一届毒瘤…里面对于那些 libraries 的管理极其混乱,load 了以后可能会导致各种各样的问题…
当然不得不承认的是,它确实“方便”…
einsdisp
2024 年 5 月 4 日
@mijazz
@Jirajine
@skiy
@mayli
@bigtear
@Akkuman
@h404bi
@ClericPy
@iorilu
@ClericPy
@jqtmviyu

回复楼上诸位, rye 确实满足我需求, 这玩意真是个神器, 背后调用 `indygreg/python-build-standalone` 项目的预编译版本, 除此之外, rye 还自带 pip 的平替包管理器 uv, 也是个神器.

楼上诸位有很多建议 asdf, vfox, vmr 等多语言版本管理器的, 我看了他们的源代码, 这些没有一个符合要求. 他们要么是调用 pyenv 的 python-build 进行编译安装,要是调用 conda 进行安装.

总结:
如果 Linux 下若不想编译安装 Python, 且不污染系统, 不使用 root 权限情况下(排除 docker, 排除系统包管理), 直接安装预编译二进制的,
**有且只有**唯二的选择:
conda vs rye, 需要科学计算的选 conda, 不需要的直接选 rye
noahlias
2024 年 5 月 4 日
其实不就是 linux 众多发行版的问题吗 说实话给 Linux 发行版做适配是真的很头疼的一件事情
你既然都选 linux 了还在乎编译给你带来的麻烦吗 你觉得繁琐你用 windows 和 mac 啊
linux 不就是要把控每一个设置吗 安装位置编译选项等
kneo
2024 年 5 月 4 日
@noahlias 你说的这叫什么话。选 Linux 就是图开发方便。谁和你说的是为了折腾?
你用过 Linux 吗,每装个软件都自己下载源码编译,然后还改安装位置?那我只能说你是闲的。
noahlias
2024 年 5 月 4 日
@kneo 肯定用过啊,我喜欢 Linux 的那种自定义,我可以控制我电脑的每一个部分,我可以重新编译内核,可以设定任何一个系统参数,另外你说的为了方便说的是当服务器运行做开发环境?我问一句你真的用过吗?
kneo
2024 年 5 月 4 日
@noahlias 请问你控制了你自己电脑的哪个部分?编译了内核,于是,控制了啥?

你应该不是开发者,不明白如何转换生产力,以为装个 Linux 编译个东西就是学到东西了。那是二十年前学生时代的技术荒漠才有的想法。

现在是生产力时代,我告诉你开发者会做什么:

1. 如果你工作了,有大量的业务需求让你去开发。你也可以把前沿技术应用在业务上。
2. 如果你没工作,是个学生,有大量的开源项目可以让你参与进来。
3. 如果你不是专业的开发者,你也可以在 PC/安卓/NAS 上为自己开发应用程序。

开发者会把时间花在具有创造性的事情上。编译一个东西就是编译了一个别人的东西,没有开发者愿意在这上面浪费太多时间。

也许你是初学者,我不否认你一开始能靠自己编译学到点东西,但是你不会靠反复编译持续学到东西。

也许你就是闲的喜欢折腾编译。但是你说出的“用 Linux 不就是为了自己编译订制”就很无知。Linux 对开发者是生产力工具。也许对你是“浪费时间工具”。
noahlias
2024 年 5 月 4 日
@kneo 我没输出 Linux 为编译定制这个说法啊 你偷换概念 我说的是 Linux 高度自定义,所以有一些开源软件不愿意为这些做 CI pre compile 所以很多提供是源码编译这种方案,300 多种发行版你想想做适配有多么麻烦

你洋洋洒洒说了一大堆又扯到开发者生产力上了 哈哈哈 还说喜欢折腾编译笑死 我有半句说我喜欢折腾编译吗
另外不要给别人的话添油加醋 ‘’‘用 Linux 不就是为了自己编译订制’‘’ 这句话我没说过(你太能扯了 xd
kneo
2024 年 5 月 4 日
@noahlias 哦,那你输出的是啥观点?我回去看了下,你说过的是:

“你既然都选 linux 了还在乎编译给你带来的麻烦吗 你觉得繁琐你用 windows 和 mac 啊”
“linux 不就是要把控每一个设置吗 安装位置编译选项等”
“我喜欢 Linux 的那种自定义”

你还说

“我有半句说我喜欢折腾编译吗”

我说一大堆是为了把我的观点表达清楚。如果你不同意,也可以指出。

在请问你前面说这么多除了“哈哈哈”“笑死”“你太能扯了”“xd”之外,到底是想表达什么?
noahlias
2024 年 5 月 4 日
@kneo 说你太牛了兄弟 总结的神,你不去当辩论队主辩可惜了呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1037480

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX