class: center, middle # PEW ## [Arthur Vuillard](mailto:arthur@hashbang.fr) Meetup Python Lyon 27/01/2016 --- # Environnements virtuels ```bash $ which python /usr/bin/python $ virtualenv test $ source test/bin/activate $ which python /tmp/test/bin/python $ deactivate ``` --- class: center, middle # Qu'est ce que c'est ? Un outil qui permet de gérer ses environnements virtuels --- # Fiche d'identité - PEW = Python Env Wrapper - Créé par Dario Bertini - Licence MIT - créé en mai 2013 - multiplateforme --- # Pourquoi ? - gérer plusieurs environnements virtuels - travailler sur plusieurs projets - travailler avec plusieurs versions de Python - virtualenvwrapper n'est pas user friendly et pas facile à faire évoluer - différents shells --- # Comment ? Lance un shell dans un nouveau process avec des variables d'environnement positionnées à la bonne valeur. Ces variables sont nettoyées automatiquement lorsqu'on sort du shell. --- # Installation - pip install pew - Paquets pour - Arch Linux - Debian/Ubuntu - Windows (Chocolatey) --- # Aide à l'utilisation - autocomplétion - documentation - pew liste les commandes disponibles - pew commande -h affiche les options/arguments disponibles --- # pew new ```bash # crée un environnement pew new my_project # crée un environnement avec Python 2 pew new -p python2 my_project # crée un environnement avec Python 3.4 # et configure le dossier du projet pew new -p python3.4 -a project_dir my_project ``` --- # pew workon ```bash # active l'env my_project et me place # dans le dossier du projet si # configuré pew workon my_project ``` --- # pew mktmpenv Crée un environnement virtuel temporaire qui sera détruit à la sortie de l'environnement --- # pew in ```bash # affiche la version de python dans # l'environnement my_project pew in my_project python -V # lance les tests dans un environnement pew in my_project py.test # affiche la version de python dans # chaque environnement pew inall python -V ``` --- # pew rm Supprime un environnement ```bash # supprime l'env my_project pew rm my_project ``` --- class: center, middle # Démo --- class: center, middle # Conclusion ```pip install pew``` ! --- # Liens - [Pew sur github](https://github.com/berdario/pew) - [De virtualenvwrapper à pew](https://hashbang.fr/de-virtualenvwrapper-a-pew.html) # Des questions ? ## .center[[arthur@hashbang.fr](mailto:arthur@hashbang.fr)]