pdm 还是 dev container?

2024-02-05 19:04:10 +08:00
 stimw

之前用到 python 的地方基本就是数据分析、深度学习,这块标准答案应该就是 conda ,我一直以来也是用 miniconda 来管理环境。

现在要写 fastapi ,conda 用起来就有点痛苦了。当然 conda 也可以导出evironment.yml,但是这玩意似乎也只能用来 create 新环境,不能像其他包管理器一样根据包版本差异直接 install 。

研究了一下现在比较好用的就是 pdm ,可以创建新的 venv (不太想搞这么多 venv...),也可以复用 conda 的 venv ,但是看了半天复用的话也不知道会不会影响 conda 的环境里的包。

还有一个选择就是 vscode 的 dev container ,直接容器内开发可能是一个比较好的选择,但是没尝试过。

2767 次点击
所在节点    Python
29 条回复
Alias4ck
2024-02-07 15:26:43 +08:00
rye
stimw
2024-02-07 16:41:49 +08:00
@Alias4ck 我看到官网介绍目前还是“very experimental”

它相比 pdm 的优点是什么?我看文档提到的一个是用户可以通过 rye 安装 python 发行版,而 pdm 创建 virtualenv 需要系统已经安装对应的 python 版本。

除此之外没有发现其他的优点,能不能跟 conda 合理共存要打个问号。目前 pdm 是可以的。
Alias4ck
2024-02-07 17:04:29 +08:00
@stimw 有两篇文章分析了这些包工具,rye 也不算实验性,openai-python( https://github.com/openai/openai-python/tree/main)就是用 rye 管理的,pdm 缺少了 python version 管理和 poetry 一样,
我的出发点是因为它是 rust 写的哈哈

1:https://alpopkes.com/posts/python/packaging_tools/?utm_source=substack&utm_medium=email
2:https://chriswarrick.com/blog/2024/01/15/python-packaging-one-year-later/
stimw
2024-02-07 21:10:58 +08:00
@Alias4ck #23 有遇到坑吗?
Alias4ck
2024-02-07 21:52:57 +08:00
@stimw 写 c extension 的话可能会不方便,它用 hatch 打包的,暂时没碰到,有坑的话可以去提 issue,作者是 flask 的 creator
stimw
2024-02-14 03:13:19 +08:00
@Alias4ck 用了几天感觉很好用。就是文档比 pdm 少了很多东西。
Alias4ck
363 天前
@stimw wow,今天 rye 更新了新 feature 接入 uv( https://github.com/astral-sh/uv)(对就是那个写 ruff 的又写了一个比肩 pip 的) 卧槽这下载的速度比 pip 不是快一点点 我只能用丝滑来形容这安装依赖的速度
stimw
363 天前
@Alias4ck #27 我看了 discussion ,作者好像准备让 rye 合并到 uv 里。。。
Alias4ck
352 天前
@stimw 并没有 但是 rye 已经成为 astral 维护的项目了 变成了公司维护了

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

https://tanronggui.xyz/t/1014479

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

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

© 2021 V2EX