有没有好用的 Python 版本、虚拟环境和包管理的工具

2023-12-04 11:00:18 +08:00
 hu6u
感觉 conda 不太好用,随便创建一个环境都比较大(个人感觉
7625 次点击
所在节点    Python
67 条回复
Akkuman
2023-12-04 23:29:36 +08:00
rye
LeeReamond
2023-12-05 00:09:47 +08:00
miniconda 倒是没啥体积的问题,只是 conda 每次启动得单独加载虚拟环境,另外连接第三方软件也不容易,比如 sublimetext 这种,所以感觉还是不好用。我感觉逻辑上应该是有默认层,或者替换启动命令这种逻辑的要好用一些,比如不做切换时固定在某个版本
kuanat
2023-12-05 00:12:51 +08:00
python 版本管理:asdf
https://asdf-vm.com/

虚拟环境:python venv

包管理:pdm
https://pdm-project.org/
Yuhyeong
2023-12-05 00:18:18 +08:00
conda 还不够用那就没了,OP 的需求是不是想一个 python ,多个不同的包依赖?减少同一个版本的包在多个环境里的多次安装?

没有这样的环境,conda 的包管理加使用已经很厉害了。说实话我搞机器学习一个 conda 环境最多也就几个 G ,你要是说占用太大,大概率意思是 conda 的存储空间占用太多,这是因为下载下来的包都缓存起来在本地了,你多个环境下载的所有包的 pre-built 文件或者 wheel 都集中存储起来,这样设计的目的是以便下次创建新环境时免去下载的过程。

miniconda 和 anaconda 的区别就是 base 环境几乎没东西,给自定义环境的用户最大的轻便度。所以建议是用 miniconda ,然后嫌弃占用大的话多了解 conda 安装存储的原理,对缓存包没需求的话勤清理 cache ,这种情况想复用环境可以用 clone 的方法来创建新环境,最大程度减少存储空间占用。
Yuhyeong
2023-12-05 00:19:36 +08:00
用没有广大社区支撑的第三方库管理工具,只会在若干个月后因为某个包的版本依赖问题焦头烂额
jiayouzl
2023-12-05 00:20:55 +08:00
brew 安装 python ,虚拟环境就自带或者 virtualenv ,包管理就 pip ,为什么你们要这么复杂?如果对 python 环境有较高要求就 miniconda 就行了啊。
lxxiil
2023-12-05 00:22:21 +08:00
thonny 整个环境可以复制粘贴带走
009694
2023-12-05 00:34:03 +08:00
conda 新环境只安装 python 的话只有 100mb 不到的大小,何来很大?
Alias4ck
2023-12-05 01:24:40 +08:00
建议看这篇文章 https://alpopkes.com/posts/python/packaging_tools/
基本对比了市面上的大部分工具 不过我还是推荐 rye (因为我发现 openai 的官方 python sdk 也是用这个来做的
来源是这里
https://ex.noerr.eu.org/t/993078#reply1
bianhui
2023-12-05 08:42:39 +08:00
pdm > rye
knightdf
2023-12-05 08:52:02 +08:00
poetry
clemente
2023-12-05 10:08:03 +08:00
miniconda > 其他
okampfer
2023-12-05 10:40:19 +08:00
@xipuxiaoyehua #12
请教一下 nix 的国内镜像源怎么配置?
XiaoyehuaDev
2023-12-05 10:45:25 +08:00
@okampfer 我为了省事起见,走代理🤣,不过我之前看的清华或者中科大的源 wiki 里都写了怎么替换,你可以看一下,不过我的理解如果用清华的源装的 nix 的话 pkgs 默认源应该就已经是清华了
sworld233
2023-12-05 11:08:35 +08:00
miniconda 是好用的
llsquaer
2023-12-05 11:22:29 +08:00
现在用 virtualenv 但是有一个问题复用库的时候特别麻烦。特别是机器学习的库又大。。

很大的问题是第三方库的复用不能随心所欲。。导致 10 个项目有 10 个虚拟环境同时又有 10 个相同的库。

还好现在硬盘便宜了
listenerri
2023-12-05 14:04:49 +08:00
啥外部工具都不用,直接用电脑上已安装的具体版本 python 可执行程序 + 官方的 -m venv
0x19921213
2023-12-05 14:42:23 +08:00
pyenv+virtualenv
c5QzzesMys8FudxI
2023-12-06 09:41:25 +08:00
pyenv 和 miniconda 哪个好用点?
一直在用 pyenv
amlee
2023-12-06 12:41:27 +08:00
用 docker 的 dev container

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

https://ex.noerr.eu.org/t/997412

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

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

© 2021 V2EX