Je crée donc une toute nouvelle application Flask à partir de zéro. Comme tous les bons développeurs le font, ma première étape a été de créer un environnement virtuel.
La première chose que j'installe dans l'environnement virtuel est Flask==0.11.1
. Flask installe ses dépendances suivantes:
- cliquez sur == 6,6
- itsdangerous == 0,24
- Jinja2 == 2,8
- MarkupSafe == 0,23
- Werkzeug == 0.11.11
- roue == 0,24.0
Maintenant, je crée un requirements.txt pour m'assurer que tout le monde clonant le référentiel a la même version des bibliothèques. Cependant, mon dilemme est le suivant:
Les deux approches sont valables et fonctionnent. Mais il y a une petite différence. Lorsque vous entrez toutes les dépendances dans le requirements.txt
vous pourrez en épingler les versions. Si vous les omettez, il pourrait y avoir une mise à jour ultérieure et si Flask a quelque chose comme Werkzeug>=0.11
dans ses dépendances, vous obtiendrez une version plus récente de Werkzeug installée.
Il s'agit donc de mises à jour par rapport à un environnement défini. Tout ce qui vous convient le mieux.
Une bonne chose ici est que vous utilisez virtualenv, ce qui rendra votre tâche très facile.
$source path_to_virtualenv/bin/active
)Obtenez tous les packages ainsi que les dépendances dans requirements.txt
pip freeze > requirements.txt
Vous n'avez à vous soucier de rien d'autre que de vous assurer que la prochaine personne installe les exigences de manière récursive en suivant la commande
pip install -r requirements.txt
Vous pouvez (à partir de votre environnement virtuel actif) effectuer les opérations suivantes
pip freeze > requirements.txt
qui s'occupera automatiquement de toutes les bibliothèques/modules disponibles dans votre projet.
Le prochain développeur n'aurait qu'à émettre:
pip install -r requirements.txt