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

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

虚拟环境:python venv

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

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

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

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

还好现在硬盘便宜了
listenerri
355 天前
啥外部工具都不用,直接用电脑上已安装的具体版本 python 可执行程序 + 官方的 -m venv
0x19921213
355 天前
pyenv+virtualenv
c5QzzesMys8FudxI
354 天前
pyenv 和 miniconda 哪个好用点?
一直在用 pyenv
amlee
354 天前
用 docker 的 dev container

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

https://www.v2ex.com/t/997412

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

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

© 2021 V2EX