6

我有一个不包含requirements.txt. 但它有一个pyproject.toml文件。

如何下载此 Python 项目所需并pyproject.toml使用 Pip 包管理器(而不是构建工具 Poetry)声明的包(依赖项)。

所以,而不是pip download -r requirements.txt,类似的东西pip download -r pyproject.toml

4

3 回答 3

3

pip 支持原生安装 pyproject.toml 依赖项

从 10.0 版开始,pip 支持项目在安装时使用 pyproject.toml 文件以 PEP 518 中描述的形式声明所需的依赖项。在构建项目时,pip 将在本地安装所需的依赖项,并使它们可用于构建过程。此外,从 19.0 版本开始,pip 支持以 PEP 517 中描述的形式指定它们在 pyproject.toml 中使用的构建后端的项目。

从项目的根目录,使用 pip 的本地项目安装:

python -m pip install .
于 2021-03-25T16:26:47.470 回答
1

您可以将依赖项导出到 arequirements.txt并在pip download之后使用:

poetry export -f requirements.txt > requirements.txt
pip download -r  requirements.txt
于 2020-06-20T19:23:25.540 回答
0

这是 .toml 文件的示例:

[build-system]
requires = [
    "flit_core >=3.2,<4",
]
build-backend = "flit_core.buildapi"

[project]
name = "aedttest"
authors = [
    {name = "Maksim Beliaev", email = "beliaev.m.s@gmail.com"},
    {name = "Bo Yang", email = "boy@kth.se"},
]
readme = "README.md"
requires-python = ">=3.7"
classifiers = ["License :: OSI Approved :: MIT License"]
dynamic = ["version", "description"]

dependencies = [
    "pyaedt==0.4.7",
    "Django==3.2.8",
]

[project.optional-dependencies]
test = [
    "black==21.9b0",
    "pre-commit==2.15.0",
    "mypy==0.910",
    "pytest==6.2.5",
    "pytest-cov==3.0.0",
]

deploy = [
    "flit==3.4.0",
]

安装您运行的核心依赖项:

pip install .

如果您需要测试(开发)环境(我们使用test它是因为它是在 .toml 文件中定义的名称,您可以使用任何名称):

pip install .[test]

从 Wheel 安装:

pip install C:\git\aedt-testing\dist\aedttest-0.0.1-py3-none-any.whl[test]
于 2021-11-15T16:28:16.163 回答