2021年Python库打包

时间:2021-02-21 19:24:02

标签: python build package

我想提供一些代码作为版本化的常规 Python 包 foo(一个 lib,可能包装 C++ so / dll 二进制文件)。

[...目前在公司实习生 git 中使用其 CI/CD 工作流程。此处不需要 Docker,但应再次对压缩和版本化版本进行系统测试,然后再在 pypi.org 中提供,如中央存储库——只是提一下,而不是我在这里的问题范围。]< /p>

import this 中引用最多的一行可能是:

There should be one-- and preferably only one --obvious way to do it

不幸的是,Python Packaging Authority (PyPA) 并没有暗示这种首选方式,例如项目布局、如何打包等。

有些项目遵循 pyproject.toml 方法

在他们的项目根目录中,您通常会看到

  • /docs(或类似的命名)
  • /tests(或类似的命名)。

对于实际的包代码(安装后通过 import foo 使用)有两种方法

  • /foo 直接在项目根目录中,或
  • /src/foo 我更喜欢它的可读性和一致性(需要额外的子目录)

有些项目区分 requirements.txt(例如测试、文档、开发),有些则不区分。

阅读 https://meta.stackexchange.com/help/dont-ask,所以我的问题是:

这是当前(2021 年初)要走的路吗:

python-poetry/poetrypypa/setuptools_scm 和其他当前 github 模板/脚手架/骨架/蓝图等项目的最佳创意中获取主题? 还没有真正整合最佳实践吗?

或者我错过了什么?

0 个答案:

没有答案