Можем ли мы загрузить зависимости python pyproject.toml с помощью диспетчера пакетов pip
У меня есть проект python, который не содержит файла requirements.txt. Но у него есть файл pyproject.toml.
Как я могу загрузить пакеты (зависимости), необходимые в этом проекте python, которые существуют в pyproject.toml, используя диспетчер пакетов "pip" вместо поэзии.
Как команда "pip download requiremenets.txt", но вместо "pip download pyproject.toml"
3 ответа
Вот пример файла .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]
Для установки с колеса:
pip install C:\git\aedt-testing\dist\aedttest-0.0.1-py3-none-any.whl[test]
pip изначально поддерживает установку зависимостей pyproject.toml .
Начиная с версии 10.0, pip поддерживает проекты, объявляющие зависимости, которые требуются во время установки, с использованием файла pyproject.toml в форме, описанной в PEP 518. При сборке проекта pip устанавливает необходимые зависимости локально и делает их доступными для процесс сборки. Кроме того, начиная с версии 19.0, pip поддерживает проекты, определяющие серверную часть сборки, которую они используют в pyproject.toml, в форме, описанной в PEP 517.
Из корня проекта используйте установку локального проекта pip :
python -m pip install .
Вы можете экспортировать зависимости в requirements.txt
и использовать pip download
потом:
poetry export -f requirements.txt > requirements.txt
pip download -r requirements.txt