Lorsque nous travaillons sur Python, il est toujours intéressant d'utiliser des environnements virtuels pour les projets.
Bien que de nombreuses ressources de formation en ligne ignorent ou quittent ce sujet, personnellement, je pense que c'est un domaine qu'il vaut mieux couvrir dès que possible.
D'un point de vue simpliste, il fournit un environnement pratique pour que les individus expérimentent la pléthore de modules disponibles dans l'écosystème python, et atténue le besoin de privilèges root lors de l'installation de modules sur des systèmes Linux.
Il y a aussi une variété d'autres avantages.
Comment utiliser virtualenv pour basculer facilement entre plusieurs versions d'Ansible As root (sudo) get pip:
En tant que ROOT (sudo):
Installation des dépendances :
user@server:~$ sudo apt install build-essential libssl-dev libffi-dev python-dev
Installation du package pip:
user@server:~$ sudo apt-get install python3-pip
user@server:~$ sudo rm /usr/bin/python user@server:~$ sudo ln -s /usr/bin/python3 /usr/bin/python
Installation du package “virtualenv”
user@server:~$ sudo apt install virtualenv
Installation du package “virtualenvwrapper”
user@server:~$ pip3 install virtualenvwrapper user@server:~$ export WORKON_HOME=~/Envs user@server:~$ mkdir ~/Envs user@server:~$ source ~/.local/bin/virtualenvwrapper.sh
Note:
Il faudra définir dans le .bashrc du user l'export de la variable WORKON_HOME ainsi que le sourcing du script : virtualenvwrapper.sh
Création d'un virtualenv pour la dernière version d'Ansible
user@server:~$ mkvirtualenv ansible_2.9.6 user@server:~$ pip install ansible==2.9.6
Vérifier la version d'ansible avec la commande : "**ansible --version**"
ansible 2.9.6 config file = None configured module search path = [u'/home/user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /home/user/Envs/ansible_2.9.6/local/lib/python2.7/site-packages/ansible executable location = /home/user/Envs/ansible_2.9.6/bin/ansible python version = 2.7.17 (default, Nov 7 2019, 10:07:09) [GCC 7.4.0]
Création d'un autre virtualenv mais cette fois ci pour Ansible 2.7.16
user@server:~$ mkvirtualenv ansible_2.7.16 user@server:~$ pip install ansible==2.7.16
Vérifier la version d'Ansible avec la commande : “ansible –version”
ansible 2.7.16 config file = None configured module search path = [u'/home/user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /home/user/Envs/ansible_2.7.16/local/lib/python2.7/site-packages/ansible executable location = /home/user/Envs/ansible_2.7.16/bin/ansible python version = 2.7.17 (default, Nov 7 2019, 10:07:09) [GCC 7.4.0]