Lors du développement d'applications Python, il n'y a qu'une seule version de Python3 installée sur le système : 3.4. Tous les packages tiers seront installés par pip dans le répertoire site-packages de Python3.
Si nous souhaitons développer plusieurs applications en même temps, alors ces applications partageront le même Python, qui est Python 3 installé sur le système. Que se passe-t-il si l'application A nécessite Jinja 2.7 et l'application B nécessite Jinja 2.6 ?
Dans ce cas, chaque application devra peut-être disposer de son propre environnement d'exécution Python "indépendant". virtualenv est utilisé pour créer un environnement d'exécution Python « isolé » pour une application.
Tout d'abord, nous installons virtualenv en utilisant pip :
$ pip3 install virtualenv
Ensuite, en supposant que nous souhaitons développer un nouveau projet et que nous ayons besoin d'un environnement d'exécution Python indépendant, nous pouvons faire ceci :
La première étape consiste à créer un répertoire :
Mac:~ michael$ mkdir myproject Mac:~ michael$ cd myproject/ Mac:myproject michael$
La deuxième étape consiste à créer un environnement d'exécution Python indépendant et à le nommer venv :
Mac:myproject michael$ virtualenv --no-site-packages venv Using base prefix '/usr/local/.../Python.framework/Versions/3.4' New python executable in venv/bin/python3.4 Also creating executable in venv/bin/python Installing setuptools, pip, wheel...done.
La commande virtualenv peut créer un environnement d'exécution Python indépendant. Nous avons également ajouté le paramètre --no-site-packages, afin que tous les packages tiers installés dans l'environnement Python du système ne soient pas copiés. , De cette façon, nous obtenons un environnement d'exécution Python « propre » sans aucun package tiers.
L'environnement Python nouvellement créé est placé dans le répertoire venv sous le répertoire actuel. Avec l'environnement Python venv, vous pouvez utiliser source pour entrer dans l'environnement :
Mac:myproject michael$ source venv/bin/activate (venv)Mac:myproject michael$
Notez que l'invite de commande a changé. Il y a un préfixe (venv), indiquant que l'environnement actuel est un environnement Python nommé venv.
Installez normalement divers packages tiers et exécutez la commande python :
(venv)Mac:myproject michael$ pip install jinja2 ... Successfully installed jinja2-2.7.3 markupsafe-0.23 (venv)Mac:myproject michael$ python myapp.py ...
Dans l'environnement venv, les packages installés avec pip sont installés dans l'environnement venv et l'environnement système Python n'est en aucun cas affecté. Autrement dit, l'environnement venv est spécialement créé pour l'application myproject.
Pour quitter l'environnement venv actuel, utilisez la commande deactivate :
(venv)Mac:myproject michael$ deactivate Mac:myproject michael$
À ce stade, vous êtes revenu à l'environnement normal. Maintenant, pip ou python sont exécutés dans l'environnement Python du système.
Il est tout à fait possible de créer un environnement d'exécution Python indépendant pour chaque application, afin que l'environnement Python de chaque application puisse être isolé.
Comment virtualenv crée-t-il un environnement d'exécution Python « indépendant » ? Le principe est très simple, c'est-à-dire copier le système Python dans l'environnement virtualenv, et utiliser la commande source venv/bin/activate pour entrer dans un environnement virtualenv. Virtualenv modifiera les variables d'environnement pertinentes afin que les commandes python et pip. pointez vers l’environnement virtualenv actuel.
RésuméVirtualenv fournit un environnement d'exécution Python isolé pour les applications et résout le problème des conflits multi-versions entre différentes applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!