Aller au contenu

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 :

pip-sync requirements-dev.txt

Références