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

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX