如何使用 pip 在可编辑模式下安装 setup.cfg + pyproject.toml python 项目?

don*_*lan 8 setuptools python-packaging pyproject.toml pep517

是否可以将蛋糕减半并吃掉它:可以安装(通过某种机制)具有以下结构的项目:

pyproject.toml
setup.cfg
src/...
scripts/...
Run Code Online (Sandbox Code Playgroud)

在可编辑模式下,就像使用标准setup.py项目一样:

python3 -m pip install -e . 
Run Code Online (Sandbox Code Playgroud)

(如果答案是:“ one does not install pyproj.toml packages in editable mode ”也可以)

sha*_*ker 6

更新:截至 2022 年 8 月,Setuptools 和 Pip 现在完全支持 PEP 660,因此现在可以仅 使用pyproject.toml.

注意:为了能够对您的用户站点进行可编辑的安装 (pip install -e --user),您需要安装v62.0.0 或更高版本的系统setuptools


Pip 版本 21.1 之后,您可以用于setup.cfg可编辑安装。

在不久的将来,您甚至不需要,因为终于有了一个不假设您使用安装工具的可编辑安装标准:PEP 660。当兼容 PEP-517 的构建后端开始也支持 PEP 660 时,Pip 可编辑安装将适用于具有 的项目pyproject.toml,即不支持旧版安装工具界面 ( setup.py/ setup.cfg) 的仅 PEP-517 项目。

在 Pip 版本 21.1 之前,您需要一个虚拟对象setup.py

#!/usr/bin/env python
import setuptools

if __name__ == "__main__":
    setuptools.setup()
Run Code Online (Sandbox Code Playgroud)

  • 是的,我知道。但我的所有配置都在“pyproject.toml”中,因此需要为我生成这个无用的“setup.cfg”。 (3认同)