也是醉了,从 pip 学习到 pipenv,再切换到 poetry,最后还是用回 pip

2024-09-24 13:11:24 +08:00
 pl01665077

也是醉了,最近使用 docker+poetry 1.5.1 部署一个项目,dockerfile 模板之前一直正常,最近推送代码到部署环境,发现 docker build 居然失败。一查发现怎么缺少了依赖库?平时使用 poetry 安装不都是自动装依赖库的吗?

去 github issue 一查,发现这个问题才明白,poetry 的依赖崩了。。。导致重新创建新的环境的时候,再使用 poetry 创建环境就出现安装依赖错误。。。

解决方案是要锁定 pkginfo 版本

poetry self add pkginfo==1.10.0

但是改了好几次 dockerfile 还是不行,最后还是导出 requirements.txt ,用 pip 方式安装,改写 dockerfile 后终于部署正常了。。。

以前受过 pipenv 的教训,它过了一段时间再安装,会出可能启动不了项目,是由于 pipenv 没有完全锁死依赖库版本。现在本来以为 poetry 包管理器足够稳定,可以一直安心用不加班,没想到现在又要重新更好一点的包管理器,或者用回 pip

9751 次点击
所在节点    Python
91 条回复
runinhard
2024-09-24 13:14:44 +08:00
是的 ,全他么是垃圾
dcoder
2024-09-24 13:30:00 +08:00
go.mod / Rust cargo:
我不是针对你 poetry, 我是说在座的各位 python 包管理, 都是垃圾 ...
dcoder
2024-09-24 13:32:12 +08:00
认真讨论, Python 的包管理真的太拉胯了...

说实话, 最近在考虑, 干脆用 conda + lock 得了
https://github.com/conda/conda-lock

还方便折腾 AI 的东西
Mithril
2024-09-24 13:32:34 +08:00
@dcoder 还得加上 .NET NuGet/Java Maven

NPM:在比烂这方面在座各位没有一个能打的。
dcoder
2024-09-24 13:37:35 +08:00
@Mithril npm 和 Python 的包管理感觉烂得各有千秋
最近不太用 JS/Node, npm 那个堪比黑洞质量的文件重复问题,貌似优化了不少了?
jiayouzl
2024-09-24 13:39:35 +08:00
pip 适合 99.99%开发者!别搞什么花里胡哨的!我以前就用 virtualenv 后来 Python 自带虚拟环境了我连 virtualenv 都不装了.
itskingname
2024-09-24 13:40:36 +08:00
Python 3.12 开始,pip 安装就会给你报错缺少 Imp 包。
cherryas
2024-09-24 13:40:52 +08:00
原生 env 一把梭
TimePPT
2024-09-24 13:56:06 +08:00
开发环境 poetry ,部署乖乖用 pip...
SilentOrFight
2024-09-24 13:57:33 +08:00
python 包管理是真的乱
SenLief
2024-09-24 13:57:49 +08:00
我都是用自带的 venv ,可能项目比较小。
Goooooos
2024-09-24 14:00:11 +08:00
懒得折腾,都是 conda+pip
Mogeko
2024-09-24 14:03:14 +08:00
@dcoder pnpm 基本解决 node_modules 的问题了 python 暂时无解
Numbcoder
2024-09-24 14:07:41 +08:00
每次看到有人尬吹 “人生苦短,我用 Python” 我就想笑
sweat89
2024-09-24 14:17:46 +08:00
我用 conda ,感觉很方便啊
dishonest
2024-09-24 14:21:28 +08:00
确实是垃圾。不要说包管理不重要,太影响体验了。

我甚至因为 cargo 的便利,硬学了 rust 。
encro
2024-09-24 15:20:19 +08:00
uv 真快。。。
encro
2024-09-24 15:20:39 +08:00
pdm 也不错
FleetingSound
2024-09-24 15:46:09 +08:00
poetry 挺好用的,uv 也不错.
qsnow6
2024-09-24 15:50:05 +08:00
依赖越少越好

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

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

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

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

© 2021 V2EX