我使用 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文件的方法。
[project]dependencies
代表setuptools
。 [tool.poetry.dependencies]
代表 poetry
。要使用 pip
安装项目,您需要声明 [build-system]
:
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
然后
pip
将安装 poetry
并且 poetry
将安装依赖项。