Site original : Sam & Max: Python, Django, Git et du cul
Vous avez compris que Python sans virtualenv c’est comme la mer sans les vagues, c’est comme les vagues sans l’écume, c’est comme l’écume sans le sel, c’est comme le sel sans le poivre…
Mais c’est aussi appétissant que les méduses échouées.
Donc pour se faciliter la vie, vous utilisez virtualenvwrapper.
Et bien il y a plus meilleur : pew.
Non content d’avoir un nom cool et court, c’est un progrès non négligeable dans l’ergonomie de notre vie de dresseur de reptiles.
D’abord : pip install pew
.
Ensuite, tableau d’équivalence avec virtualenvwrapper :
virtualenvwrapper | pew | |
---|---|---|
Lister les env existant | workon | pew ls |
Créer un env | mkvirtualenv name | pew new name |
Supprimer un env | rmvirtualenv name | pew rm name |
Activer un env | workon name | pew workon name |
Aller dans le dossier site-packages | cdsitepackages | cd $(pew sitepackages_dir) |
Valeur par défaut pour $WORKON_HOME (dossier qui contient tous les envs) | ~/.virtualenvs | ~/local/share/virtualenvs |
Vous noterez que les commandes de pew sont plus faciles à retenir, plus cohérentes, et toutes des sous-commandes histoire d’éviter de pourrir son espace de nom.
Autres avantages : pew n’a pas besoin qu’on ajoute un fichier à votre .bashrc
pour marcher. Car pew ne source pas un env dans votre shell courant, il ouvre un nouveau shell. Pour sortir de l’env, c’est donc un simple Ctrl + D.
Seulement ça ne s’arrête pas là. Pew possède quelques commandes bonus qui changent bien la vie :
virtualenvwrapper | pew | |
---|---|---|
Éxecuter la commande dans un env sans l’activer | Nope | pew in name commande |
Éxecuter la commande dans tous les env | Non | pew inall commande |
Dupliquer un virtualenv ailleurs | Nada | pew cp name destination |
Ajouter un chemin au PYTHONPATH de l’env | Fuck it | pew add path |
Changer la prise en compte des libs du site-packages du système quand on veut | I’m out | pew toggleglobalsitepackages |
Créer un env temporaire supprimé dès qu’on en sort | Now you are just pushing it | pew mktmpenv |
Choisir un dossier vers lequel aller à l’activation de l’env | BANG ! | pew setproject path |
Bon, le seul truc qui manque pour le moment, ce sont les hooks.