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

88 天前
 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

6893 次点击
所在节点    Python
90 条回复
runinhard
88 天前
是的 ,全他么是垃圾
dcoder
88 天前
go.mod / Rust cargo:
我不是针对你 poetry, 我是说在座的各位 python 包管理, 都是垃圾 ...
dcoder
88 天前
认真讨论, Python 的包管理真的太拉胯了...

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

还方便折腾 AI 的东西
Mithril
88 天前
@dcoder 还得加上 .NET NuGet/Java Maven

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

我甚至因为 cargo 的便利,硬学了 rust 。
encro
88 天前
uv 真快。。。
encro
88 天前
pdm 也不错
FleetingSound
88 天前
poetry 挺好用的,uv 也不错.
qsnow6
88 天前
依赖越少越好

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

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

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

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

© 2021 V2EX