Travailler dans un environnement virtuel
Installer des librairies via pip en se basant via un fichier de dependances
Vous utiliserez plusieurs librairies dans votre cours : Numpy, Scipy. Peut-etre avez-vous deja travaille avec ces librairies ?
Si c’est la premiere fois, il vous faudra des installer. Par defaut, vous nos installerez dans votre ordinateur. Mais si vous aurez developpe plusieurs projets vous aurez peut-etre la desagreable surprise de constater des erreurs dues a des versions diverses.
Imaginons que vous travailliez avec la version 1.0 de Librairie1 dans un projet X. Six mois apri?s, vous avez de nouveau besoin de cette librairie mais la version a change, il s’agit desormais d’la 1.1. Vous installez donc la nouvelle version qui, elle-meme, depend d’autres modules ! Tres vite, un chateau de cartes instable s’installe dans votre ordinateur.
L’ideal, me direz-vous, serait de i?tre capable de isoler les librairies installees par projet. Ou meme mieux : de pouvoir decider quel environnement de developpement nous souhaitons utiliser.
C’est exactement l’objectif des environnements virtuels : creer un contexte comprenant une certaine version de Python et les librairies que vous souhaitez. Si la ordi est un immeuble, nous pourrions imaginer qu’un environnement virtuel pourrait i?tre une piece de cet immeuble dans laquelle vous installez ce que vous souhaitez. Si vous entrez dans la piece, des librairies installees paraissent accessibles. Mais Quand vous la quittez, plus rien n’existe !
Utiliser Virtualenv
Il existe quelques solutions d’environnement virtuel. Dans une cas nous allons se servir de VirtualEnv.
Installation
Commencez donc avec installer VirtualEnv :
Puis deplacez-vous dans votre dossier d’embauche.
Creer et activer un environnement virtuel
Concretement, comment fonctionne 1 contexte virtuel ?
Commencez via creer 1 contexte virtuel en lancant la commande suivante :
Si vous travaillez avec Windows, executez la commande suivante dans PowerShell :
Elle cree votre dossier env utilisant Python3 dans le repertoire frequent.
Pour activer l’environnement, ecrivez J’ai commande suivante :
Si vous travaillez avec PowerShell, executez la spicymatch gratuit ou payant commande suivante :
Vous constatez alors que l’environnement virtuel est indique entre parentheses sur la gauche de ce console.
A partir de maintenant, l’interpreteur Python utilise n’est plus celui de votre systeme mais bien celui de l’environnement virtuel. Vous pouvez le voir tres facilement avec la achat which (UNIX) ou where (Windows) qui affiche le chemin par l’executable :
Si vous utilisez PowerShell, lancez sa prends suivante Afin de afficher l’endroit duquel est execute pip :
Les packages installes sont egalement multiples :
Si vous ouvrez votre autre terminal, vous constatez que l’environnement virtuel n’est nullement active :
Il faut le reactiver a chaque fois que vous souhaitez l’utiliser.
Desactiver 1 environnement virtuel
Pour desactiver un contexte virtuel, tapez juste deactivate .
Avant d’installer une librairie, verifiez que ce environnement virtuel est bien active et qu’il s’agit bien de celui de votre projet !
Supprimer votre environnement virtuel
Pour oublier votre environnement virtuel, rien De surcroi®t simple ! Commencez via le desactiver puis supprimez son repertoire.
L’utilisation d’un contexte virtuel reste tres courante. Elle permet de ne point avoir a poser des dependances tout d’un projet sur le systeme d’exploitation et facilite la collaboration.
Desactiver le suivi Git
Si vous utilisez Git (et j’espere bien que oui ! 🙂 ), il convient imperativement desactiver le suivi de modifications de votre contexte virtuel. En effet, vous ne voulez pas envoyer sur Github bien ce contexte virtuel !
Pour ceci, creez un fichier .gitignore et ajoutez a l’interieur la ligne suivante :
Elle indique a Git d’ignorer le dossier env .
Si la environnement virtuel a votre nouvelle nom, vous devez egalement le remplacer a votre endroit-la !
Un fichier de dependances
Imaginons a present que le programme soit fini. Vous le publiez sur Github afin que toute personne interessee puisse y acceder.
Comment ces dernieres peuvent-elles connaitre des plusieurs librairies employees au projet ? Elles n’auront pas acces a la environnement virtuel. Bien sur, elles pourront regarder en haut des differents fichiers et chercher nos imports. Mais cela est fastidieux et, surtout, il va i?tre impossible de connaitre les versions utilisees.
Les librairies qui ne sont pas standards, qui doivent par consequent etre installees, sont votre que nous appelons des dependances. Par exemple, le projet est dependant de un installation et ne peut pas fonctionner sans.
Dans l’optique de remedier a ce probleme, il existe une convention : creer un fichier requirements.txt qui liste des plusieurs librairies employees ainsi que un version.
Creer un fichier de dependances
Pypi est en mesure de le Realiser automatiquement Afin de vous ! Pour ceci, executez la commande suivante.
Cette commande “gele” nos librairies utilisees ainsi que un version en les listant dans un document.
Si vous utilisez PowerShell, executez la commande suivante :
Voici cela fut genere :
Cette commande reste fort utile mais peut se reveler restrictive. Pip indique Indeniablement l’ensemble des librairies employees, y compris des librairies fondamentales telles que packaging ou six que vous n’avez inutile d’installer. C’est pourquoi votre que nous preconisons est d’ajouter a mon tour nos dependances explicitement requises par un projet.
Installer des dependances
Si 1 fichier requirements.txt y a deja, vous pourrez facilement en installer l’integralite des librairies en executant la commande suivante :
Parfait ! Nous avons vu dans ce chapitre De quelle fai§on choisir un contexte virtuel et poser un fichier de dependances. Dans le prochain chapitre nous commencerons l’analyse ! A d’emblee !