如何基于pyproject.toml构建python项目

And*_*nov 5 python pyproject.toml

我想了解 Python 构建系统和需求管理的当前状态。

想象一下,我检查了一些使用诗歌(或 pipenv)的项目的来源。并且该项目具有pyproject.toml指定了构建系统的文件。当然我可以查看pyproject,看到这个正在使用Poetry,安装Poetry并运行poetry install,但我想避免它。

问题:是否有一种构建系统不可知的方式来构建 Python 项目?

通过“构建”,我的意思是安装项目就地运行的所有必要要求。

随着requirements.txt我会做到这一点运行pip install -r requirements.txt

sin*_*roc 15

要安装项目(及其依赖项),最新版本的pip完全能够执行此操作:

python -m pip install path/to/project
Run Code Online (Sandbox Code Playgroud)

或者

python -m pip install --editable path/to/project
Run Code Online (Sandbox Code Playgroud)

为了构建项目的发行版( sdistwheel ),当前build是我所知道的唯一构建后端不可知的工具:

python -m build
Run Code Online (Sandbox Code Playgroud)

还可以使用pip构建项目的Wheel发行版(但没有sdist):

python -m pip wheel --no-deps path/to/project
Run Code Online (Sandbox Code Playgroud)

有关文件本身的内容pyproject.toml,请参阅: