在维护 PyPI 包和项目的过程中,我常遇到两大痛点:
- 上传发布繁琐:过去,上传 PyPI 包通常需要配置 PyPI Token,有一定的安全隐患,同时还需要在本地或 CI 中打包上传,尤其是当涉及
.whl
文件的项目还需要额外的环境配置,工作量会增加不少。 - 固定子依赖耗时:稍大型的 Python 项目,子依赖往往较多,不固定版本会有上游库的不兼容风险。传统工具如 PDM、Poetry 等在锁定依赖时速度不尽人意,在开发过程中不得不忍受漫长的耗时甚至固定失败。在 2021 年是我用 Poetry 固定一个项目花了 10 分钟还失败了,自此之后就不用了。
近两年内,这些问题有了舒服的解决方案。