Tutoriel virtualenv complet pour débutant? [fermé]

356

J'ai récemment entendu parler de virtualenv et je suis intéressé. Mais tout ce que j'ai entendu est une éloge élogieuse, et je n'ai pas une compréhension claire de ce que c'est ou comment l'utiliser.

Je recherche (idéalement) un tutoriel de suivi qui peut me prendre de Windows ou Linux sans Python, et expliquer chaque étape de (sans ordre particulier):

  • ce que je dois faire pour pouvoir commencer à utiliser virtualenv
  • raisons spécifiques pour lesquelles l'utilisation virtualenvest une bonne idée
  • situations où je peux / ne peux pas utiliser virtualenv
  • situations où je devrais / ne devrais pas utiliser virtualenv

Et parcourez (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. Soit dans votre réponse, soit en tant que lien vers des tutoriels qui y répondent, ce sont les choses que j'aimerais savoir.

Dan Burton
la source
6
Cet article de dabapps rend les concepts simples
suhair
En tant que recrue python, je cherchais une introduction directe à virtualenv (et pip) et je viens de passer par celui-ci: [ dabapps.com/blog/introduction-to-pip-and-virtualenv-python/] [1] [1]: dabapps.com/blog/introduction-to-pip-and-virtualenv-python cet excellent article de blog a supprimé toute la frustration que j'avais après avoir lu d'autres confus / approximatifs.
Arnaud Bouchot
Le guide de l'utilisateur officiel ?
sampablokuper

Réponses:

245

C'est très bien: http://simononsoftware.com/virtualenv-tutorial-part-2/

Et c'est un peu plus pratique: https://web.archive.org/web/20160404222648/https://iamzed.com/2009/05/07/a-primer-on-virtualenv/

Mark Pope
la source
3
+1 Je suis d'accord qu'ils étaient bons pour un débutant comme moi. J'ai parcouru les deux, maintenant je sais au moins ce que c'est et les bases pour l'obtenir / l'utiliser. (Le second pour une raison quelconque expliqué activatemais négligé deactivateo_O). J'espère toujours plus de détails sur quand l'utiliser (et quand ne pas le faire), et des exemples plus approfondis.
Dan Burton
1
Je crois que la réponse est de toujours l'utiliser, de la même manière que vous devriez toujours utiliser le contrôle de version.
mlissner
1
Sachez que --no-site-packages est obsolète, et maintenant c'est le comportement par défaut.
Adrian Lopez
1
Cela m'a donné une bonne idée virtualenv. Recommandé d'utiliser virtualenvwrapperqui a été mentionné dans la dernière partie du document.
gihanchanuka
2
C'est amusant de constater que, fondamentalement, aucun virtualenvdidacticiel sur Internet ni le guide de l'utilisateur de virtualenv ne vous montrent réellement comment utiliser l'environnement sur votre script Python. Vous ne configurez pas un environnement uniquement pour le configurer. J'ai trouvé un tutoriel qui vous montre au moins l'alternative .
Forage
34

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

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 devez-vous faire? Installer Django 1.4? django 1.6? Si vous installez django 1.4 globalement, serait-il facile de pointer vers django 1.6 pour travailler dans le projet A?

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

Une meilleure astuce lorsque vous utilisez virtualenv est d'installer virtualenvwrapper pour gérer facilement tous les virtualenv que vous possédez. C'est un wrapper pour créer, travailler, supprimer des virtualenv.

lborgav
la source
1
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change.
joce
2
J'ai édité la réponse et ajouté plus de valeur à la même chose. Merci pour les commentaires
lborgav
8

En voici une autre: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

Celui-ci montre comment utiliser pipet un fichier d'exigences pip avec virtualenv; Les deux didacticiels proposés par Scobal sont tous deux très utiles mais sont tous deux easy_installcentrés.

Notez qu'aucun de ces tutoriels n'explique comment exécuter une version différente de Python dans un virtualenv - pour cela, voir cette question SO: Utiliser une version Python différente avec virtualenv

Alex Dean
la source
2

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

metakermit
la source