web-dev-qa-db-fra.com

Tutoriel complet de virtualenv pour débutant?

J'ai entendu parler de virtualenv récemment, et cela m'intéresse. Mais tout ce que j'ai entendu est un brin de louange et je ne comprends pas bien ce que c'est ou comment l'utiliser.

Je recherche (idéalement) un didacticiel complémentaire qui puisse me prendre sous Windows ou Linux sans Python, et explique toutes les étapes de (sans ordre particulier):

  • ce que je devrais faire pour pouvoir commencer à utiliser virtualenv
  • raisons spécifiques pour lesquelles utiliser virtualenv est une bonne idée
  • situations dans lesquelles je peux/ne peux pas utiliser virtualenv
  • situations dans lesquelles je ne devrais/ne devrais pas utiliser virtualenv

Et passez en revue (de manière exhaustive) quelques exemples de situations de la variété should + can.

Alors, quels sont les bons tutoriels pour couvrir ce genre de choses? Ou si vous avez le temps et l'intérêt, vous pouvez peut-être répondre à quelques-unes de ces questions ici. Que ce soit dans votre réponse ou en tant que lien vers des tutoriels qui y répondent, voici ce que je voudrais savoir.

352
Dan Burton
243
Mark Pope

Virtualenv est un outil permettant de créer des environnements isolés Python.

Supposons que vous travaillez dans 2 projets différents, A et B. Le projet A est un projet Web et l'équipe utilise les packages suivants:

  • Python 2.8.x
  • Django 1.6.x

Le projet B est aussi un projet Web mais votre équipe utilise:

  • Python 2.7.x
  • Django 1.4.x

La machine sur laquelle vous travaillez n'a pas de version de Django, que devriez-vous faire? Installer Django 1.4? Django 1.6? Si vous installez Django 1.4 globalement, il serait facile de pointer sur Django 1.6 pour travailler dans le projet A?

Virtualenv est votre solution! Vous pouvez créer 2 virtualenv différents, l'un pour le projet A et l'autre pour le projet B. Maintenant, lorsque vous devez travailler dans le projet A, activez simplement virtualenv pour le projet A, et inversement.

Un meilleur conseil lorsque vous utilisez virtualenv consiste à installer virtualenvwrapper afin de gérer facilement tous les virtualenv que vous avez. C'est un wrapper pour créer, travailler, supprimer les virtualenv.

34
lborgav

En voici un autre bon: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-Django/

Celui-ci montre comment utiliser pip et un fichier d'exigences de pip avec virtualenv; Les deux tutoriels proposés par Scobal sont très utiles, mais ils sont tous deux easy_install- centric.

Notez qu'aucun de ces didacticiels n'explique comment exécuter une version différente de Python au sein d'un virtualenv - pour cela, consultez la question SO suivante: Utilisez une version Python différente avec virtualenv

8
Alex Dean

Pour configurer virtualenv sur une installation propre d’Ubuntu, j’ai trouvé que le tutoriel de zookeeper était le meilleur - vous pouvez ignorer les parties concernant zookeper lui-même. Le documentation de virtualenvwrapper offre un contenu similaire, mais il est un peu rare de vous dire quoi mettre exactement dans votre fichier .bashrc.

2
metakermit