pip-tools¶
pip-tools est un ensemble d'outils pour gérer les dépendances d'un projet Python.
Installation¶
python3 -m venv venv
venv/bin/python -m pip install --upgrade pip
venv/bin/python -m pip install --upgrade pip-tools
Configuration¶
Il peut se configurer directement depuis le fichier pyproject.toml
:
pyproject.toml
[project]
dependencies = [
# project dependencies
]
[project.optional-dependencies]
test = [
# test dependencies
]
dev = [
# dev dependencies
]
[tool.pip-tools]
generate-hashes = false
pip-compile¶
La commande pip-compile permet de générer des fichier requirements.txt
à partir des dépendances listées dans le fichier pyproject.toml
.
On va l'utiliser principalement pour générer les dépendances pour les tests et les développements :
pip-compile --allow-unsafe --upgrade --extra test --output-file=requirements-test.txt pyproject.toml
pip-compile --allow-unsafe --upgrade --extra test --extra dev --output-file=requirements-dev.txt pyproject.toml
pip-sync¶
La commande pip-sync permet de mettre à jour l'environnement virtuel en synchronisant les dépendances listées dans un fichier requirements.txt
généré par pip-compile.
Par exemple, pour mettre à jour l’environnement de développement :