Configuration de l’environnement de développement python virtualenv sur Debian Linux
Dans cette configuration, nous allons configurer un python virtualenv. L’intention
derrière l’utilisation de virtualenv en tant qu’environnement de développement python est
de séparer les exécutables et les bibliothèques installés dans le système global avec les paquets
installés directement dans virtualenv. En conséquence, on peut
tester une application python donnée avec plusieurs environnements système sur un seul
host.
L’installation de virtualenv sur Debian Linux est aussi simple que :
apt-get install python-virtualenv
À ce stade, nous sommes en mesure de créer notre premier environnement de développement virtualenv python
, par exemple. myapp
virtualenv --no-site-packages myapp
Running virtualenv with interpreter /usr/bin/python2
New python executable in myapp/bin/python2
Also creating executable in myapp/bin/python
Installing setuptools, pip...done.
En utilisant l’option --no-site-packages, nous nous assurons qu’aucun paquet global system
ne sera lié à notre nouvel environnement virtualenv.
Voyons plus en détail ce qui vient de se passer. Tout d’abord,
virtualenv a créé un nouveau répertoire pour servir de conteneur pour
le développement de notre myapp.
tree -L 2 myapp/
myapp/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── easy_install
│ ├── easy_install-2.7
│ ├── pip
│ ├── pip2
│ ├── pip2.7
│ ├── python -> python2
│ ├── python2
│ └── python2.7 -> python2
├── lib
│ ├── python2.7
│ └── python-wheels
└── local
├── bin -> /home/debian/myapp/bin
└── lib -> /home/debian/myapp/lib
7 directories, 12 files
Comme vous pouvez le voir, notre nouvel environnement virtualenv contient tous les outils < br /> nécessaires pour façonner notre environnement, tels que des binaires séparés python, pip et
easy_install.
À ce stade, nous sommes prêts à entrer dans l’environnement virtualenv :
cd myapp/
source bin/activate
(myapp)debian@hostname:~/myapp$
Une fois que vous entrez dans l’environnement python virtualenv, vos exécutables binaires PATH to
changeront :
echo $PATH
/home/debian/myapp/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
En conséquence, toutes vos commandes python seront exécutées en utilisant les binaires de l’environnement using
virtualenv. Utilisez la commande pour localiser votre
un chemin complet vers vos binaires python :
(myapp)debian@hostname:~/myapp$ which python pip easy_install
/home/debian/myapp/bin/python
/home/debian/myapp/bin/pip
/home/debian/myapp/bin/easy_install
Nous sommes maintenant prêts à installer des paquets sans affecter l’environnement /> global <à l’échelle du système. À titre d’exemple, nous pouvons installer le package django local to
uniquement dans notre environnement myapp :
(myapp)debian@hostname:~/myapp$ pip install django
Downloading/unpacking django
Downloading Django-1.8-py2.py3-none-any.whl (6.2MB): 6.2MB downloaded
Installing collected packages: django
Successfully installed django
Cleaning up...
Testez l’installation du paquet django :
(myapp)debian@hostname:~/myapp$ python -c "import django;
print(django.get_version())"
1.8
Tout fonctionne comme prévu. Une fois que vous avez terminé votre travail avec l’environnement virtualenv
, vous pouvez quitter en utilisant la fonction deactivate provided
dans le script bin/activate :
(myapp)debian@hostname:~/myapp$ deactivate
debian@hostname:~/myapp$
Une tentative d’accès aux paquets django installés dans l’environnement /> virtualenv
python -c "import django; print(django.get_version())"
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named django