【问题标题】:How to install a package using pip in editable mode with pyproject.toml?如何使用 pip 在可编辑模式下使用 pyproject.toml 安装包?
【发布时间】:2021-12-11 03:33:18
【问题描述】:

当一个项目通过pyproject.toml(即没有setup.{py,cfg}文件)指定时,如何通过pip(即python -m pip install -e .)以可编辑模式安装它? p>

我为构建系统尝试了setuptoolspoetry,但都没有成功:

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

两个构建系统都出现相同的错误:

ERROR: Project file:///tmp/demo has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook. Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be installed in editable mode. Consider using a build backend that supports PEP 660.

我在conda 环境中使用它,以下是我的setuptoolspip 版本:

$ conda list | grep setuptools
setuptools                58.3.0                   pypi_0    pypi
$ python -m pip --version
pip 21.3.1

【问题讨论】:

    标签: python pip setuptools python-poetry pyproject.toml


    【解决方案1】:

    PEP 660 – Editable installs for pyproject.toml based builds 定义了如何构建只使用pyproject.toml 的项目。构建工具需要实现 PEP 660 才能使可编辑安装工作。

    【讨论】:

    • 感谢您的精彩概述和各种建议。最终我设法通过flit 进行了可编辑的安装。
    • 我发现“实现 PEP 660”似乎意味着“支持 PEP 660 兼容后端的前端”令人难以置信。实际上,一个人需要前端和后端。到目前为止,我能找到的唯一兼容的后端是 Flit。 Poetry 实现仍未发布。据我所知,pip is just a frontend 似乎有no implementation yet for setuptools
    猜你喜欢
    • 2021-06-25
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    相关资源
    最近更新 更多