Vous ne pouvez pas mener à bien un projet réel en Python sans environnement virtuel. Des outils comme virtualenvwrapper et environnement virtuel sont courants pour créer et gérer des environnements virtuels pour le développement Web, tandis que anaconda est largement utilisé par les data scientists.
Examinons comment créer et gérer vos environnements virtuels Python avec les différents outils de gestion disponibles.
Lorsque vous créez un environnement virtuel, vous demandez à votre machine de créer une copie temporaire supplémentaire de Python. Cette copie est indépendante de la version Python de votre variable système. Si vous n'êtes pas familier avec cela, jetez un œil aux bases des environnements virtuels Python.
L'environnement virtuel créé ne fonctionne pas simplement; vous devrez l'activer. En fait, tout ce que vous faites en dehors d'un environnement virtuel ne fonctionnera pas sans activation. C'est un moyen de garder votre espace global beaucoup plus propre.
Le principe de base est que les dépendances dans le virtuel A ne fonctionneront pas pour le virtuel B --- à moins que vous n'installiez la dépendance spécifiquement pour le virtuel B.
Malgré cela, un écueil courant pour la plupart des débutants et même certains experts est d'installer leurs dépendances dans l'espace global avant l'activation. Cela ne fonctionnera jamais; vous devez toujours activer avant l'installation de la dépendance.
Comme mentionné précédemment, différents outils de gestion environnementale existent pour Python. Examinons rapidement chacun d'eux, y compris leur fonctionnement et leurs éventuels défauts.
Virtualenv est un outil de gestion génial pour ceux qui s'y connaissent. C'est assez simple, même si cela peut être frustrant pour les débutants.
Pour créer un environnement virtuel avec Windows, ouvrez une fenêtre d'invite de commande à l'emplacement de votre choix. Tapez mkdir [Dossier]
pour créer un nouveau dossier, en remplaçant le texte et les crochets par le nom de votre choix.
Ensuite, tapez cd [Dossier]
pour se déplacer dans le nouveau répertoire, suivi de la commande virtualenv [Nom de l'environnement]
pour créer un environnement virtuel.
Si vous n'êtes pas encore familiarisé avec la ligne de commande, jetez un œil à certaines commandes essentielles de l'invite de commande que vous devriez connaître.
Ensuite, modifiez les dossiers dans votre environnement virtuel en tapant cd [Environment Name]
. Une fois à l'intérieur de [Nom de l'environnement] , saisissez Scripts cd
; assurez-vous d'utiliser un S majuscule dans les scripts . Une fois dans le dossier Scripts, activez l'environnement virtuel en tapant activate
.
Un inconvénient majeur de l'utilisation de virtualenv est que vous devez être dans son répertoire Scripts pour l'activer. Ainsi, vous devrez faire beaucoup de navigation. Par exemple, si votre projet se trouve dans un autre répertoire, vous devrez y revenir à partir du dossier Scripts de l'environnement. Ce processus peut devenir fatigant, déroutant et inefficace.
Pour réduire cette charge de travail et gagner du temps, une bonne pratique consiste à créer l'environnement virtuel dans le même répertoire où vous avez l'intention de placer votre projet. De cette façon, chaque projet aura son environnement spécifique à l'intérieur de son dossier contenant.
Cela peut vous éviter beaucoup de problèmes lorsque vous essayez de rappeler l'environnement virtuel spécifique à un projet, dans les cas où vous avez différents environnements virtuels pour différents projets.
Jetez un œil à l'image ci-dessous pour savoir comment procéder. Notez que monprojet et monvirtuel sont respectivement les répertoires du projet et de l'environnement virtuel.
Comme son nom l'indique, virtualenvwrapper regroupe tous vos environnements dans un seul dossier. Contrairement à virtualenv, il crée ce dossier par défaut et le nomme Envs .
Notez que la commande d'installation de virtualenvwrapper sous Windows est pip install virtualenvwrapper-win
. Mais pip install virtualenvwrapper
fonctionnera pour macOS.
Pour créer un environnement virtuel avec cet outil, ouvrez CMD ; vous n'avez pas besoin de naviguer dans le dossier de votre projet. Une fois sur la ligne de commande, tapez mkvirtualenv envname
. Il crée pour vous un environnement virtuel pré-activé.
La prochaine fois que vous souhaitez utiliser l'environnement créé, une bonne pratique consiste à ouvrir une invite de commande directement dans le répertoire de votre projet. Vous pouvez le faire en ouvrant le dossier du projet et en tapant cmd dans la grande zone de navigation en haut du panneau.
Une fois dans le CMD, utilisez la commande workon envname
pour activer votre environnement virtuel.
Bien que cet outil soit assez pratique et facile à utiliser, cela devient un problème lorsque vous oubliez le nom que vous avez donné à un environnement pour un projet particulier. C'est courant lorsque vous avez déjà des dizaines d'environnements virtuels dans ce dossier Envs.
Cependant, c'est une perte de temps si vous devez continuer à essayer chacun des environnements pour voir lequel fonctionne. Pour résoudre ce problème, assurez-vous toujours de supprimer les environnements virtuels redondants dans votre dossier Envs.
La distribution Anaconda est une solution de gestion d'environnement lourd créée pour la science des données. Bien que, selon les préférences, il soit toujours utilisé dans le développement Web. Cet outil est livré avec un navigateur qui vous permet de créer et de gérer vos environnements.
C'est plus automatique que manuel et agit comme une combinaison du virtualenv et pip paquets. Cela signifie que vous pouvez toujours utiliser conda install
pour installer des dépendances au lieu de pip . Mais pour une raison quelconque, conda semble être limité en termes d'installation de packages.
Une solution à cette limitation consiste à installer pip dans votre environnement conda en utilisant le conda install pip
commander. Dans certains cas, cela peut ne pas être nécessaire, car l'appel direct de pip dans un environnement conda sans installation matérielle de pip fonctionne toujours.
Cependant, conda n'est pas recommandé pour les nouveaux arrivants qui utilisent Windows, car sa configuration nécessite quelques détails techniques. Cela dépasse le cadre de cette discussion, mais pour une idée rapide, vous devrez ajouter votre distribution Anaconda au chemin de votre système.
Notez qu'Anaconda possède également un shell intégré, appelé shell Anaconda, qui exécute des instructions comme le CMD. Vous pouvez l'essayer en recherchant l'invite Anaconda via votre barre de recherche Windows.
Pour utiliser le conda comme outil de gestion de l'environnement, vous devez d'abord installer la distribution Anaconda. Assurez-vous de sélectionner le bon système d'exploitation avant de commencer votre téléchargement.
Après avoir configuré votre distribution Anaconda, ouvrez votre invite de commande et tapez conda create envname
pour créer l'environnement virtuel d'un conda. Pour les utilisateurs Windows, conda n'est pas disponible pour une utilisation directe dans la ligne de commande. Vous devrez l'appeler à partir du fichier batch en utilisant conda.bat create envname
.
Pour activer un environnement virtuel déjà créé, utilisez conda activate envname
. Si vous êtes un utilisateur Windows, tapez conda.bat activate envname
. Lorsque vous ouvrez le navigateur Anaconda, tous les environnements disponibles seront répertoriés.
Si vous travaillez sur un projet et que vous devez modifier la version d'une dépendance, un moyen simple de le faire est de mettre à niveau vers la version qui vous intéresse.
Par exemple, si vous souhaitez mettre à jour une version de pandas, ouvrez votre CMD et tapez python -m pip install --upgrade pandas==0.25
. Cette commande désinstallera la version précédente de pandas et installera la nouvelle version demandée.
C'est à peu près la même chose si vous devez rétrograder une version ; tout ce que vous avez à faire est de changer le numéro de version. De cette façon, vous pouvez toujours changer de version de dépendance dans un environnement virtuel sans migrer vers un nouveau.
Ces outils d'environnement virtuel Python sont pratiques et faciles à interagir. Ne vous souciez pas de ceux que les autres considèrent comme "les meilleurs" ; il s'agit plus de votre préférence. Le bon outil est celui qui sert le mieux votre projet.
Pour en savoir plus sur Python, découvrez comment programmer et contrôler votre Arduino à l'aide de Python.