在pyproject.toml的Setuptools配置中使用Poetry的[tool.poetry.dependencies]

问题描述 投票:0回答:1

我使用 poetry 来处理项目中的依赖项。

poetry add package
等等

它们都在

pyproject.toml
名为
[tool.poetry.dependencies]
的部分中指定。例如:

[tool.poetry.dependencies]
python = "^3.12"
streamlit = "^1.36.0"

我正在尝试使用 setuptools 来 使我的包可以使用

pyproject.toml
通过 pip 安装。但根据文档,依赖关系的指定如下:

[project]
name = "my_package"
authors = [
    {name = "Josiah Carberry", email = "[email protected]"},
]
description = "My package description"
readme = "README.rst"
requires-python = ">=3.8"
keywords = ["one", "two"]
license = {text = "BSD-3-Clause"}
classifiers = [
    "Framework :: Django",
    "Programming Language :: Python :: 3",
]
# Here are the dependencies
dependencies = [
    "requests",
    'importlib-metadata; python_version<"3.10"',
]

和原生的有很大不同

[tool.poetry.dependencies]

我的问题是在指定项目 setuptools 配置时,如何重用诗歌已经定义的

[tool.poetry.dependencies]
并避免(手动)重复?

这个问题看起来很相似,但我正在寻找一种使用

[tool.poetry.dependencies]
而不是requirements.txt文件的方法。

dependencies setuptools python-packaging python-poetry pyproject.toml
1个回答
0
投票

[project]dependencies
代表
setuptools
[tool.poetry.dependencies]
代表
poetry
。要使用
pip
安装项目,您需要声明
[build-system]
:

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

然后

pip
将安装
poetry
并且
poetry
将安装依赖项。

参见https://pypi.org/project/poetry-core/

© www.soinside.com 2019 - 2024. All rights reserved.