Umfassendes Virtualenv-Tutorial für Anfänger? [geschlossen]


356

Ich habe in letzter Zeit die Begeisterung für virtualenv gehört und bin interessiert. Aber alles, was ich gehört habe, ist ein bisschen Lob und ich habe kein klares Verständnis dafür, was es ist oder wie man es benutzt.

Ich suche (im Idealfall) ein nachfolgendes Tutorial, das mich von Windows oder Linux ohne Python führen kann, und erkläre jeden Schritt von (in keiner bestimmten Reihenfolge):

  • Was sollte ich tun, um anfangen zu können? virtualenv
  • Spezifische Gründe, warum die Verwendung virtualenveine gute Idee ist
  • Situationen, in denen ich / kann nicht verwenden virtualenv
  • Situationen, in denen ich verwenden sollte / nicht verwenden sollte virtualenv

Und gehen Sie (umfassend) ein paar Beispielsituationen der Sorte + Dosenvielfalt durch.

Also, was sind einige gute Tutorials, um dieses Zeug zu behandeln? Oder wenn Sie Zeit und Interesse haben, können Sie vielleicht einige dieser Fragen hier beantworten. Entweder in Ihrer Antwort oder als Link zu Tutorials, die darauf antworten, das sind die Dinge, die ich gerne wissen würde.


6
Dieser Artikel von Dabapps macht die Konzepte einfach
Suhair

Überprüfen Sie diese Anleitung thepythonguru.com/python-virtualenv-guide
Cody


Als Python-Neuling suchte ich nach einem direkten Intro zu virtualenv (und pip) und habe gerade dieses durchgemacht : [ dabapps.com/blog/introduction-to-pip-and-virtualenv-python/] [1] [1]: dabapps.com/blog/introduction-to-pip-and-virtualenv-python Dieser ausgezeichnete Blog-Beitrag hat all die Frustration beseitigt, die ich hatte, nachdem ich andere verwirrende / ungefähre gelesen hatte.
Arnaud Bouchot

Antworten:


245

3
+1 Ich stimme zu, dass sie gut für einen Anfänger wie mich waren. Ich habe beide durchlaufen, jetzt weiß ich zumindest, was es ist und wie man es bekommt / benutzt. (Der zweite aus irgendeinem Grund erklärt, activateaber vernachlässigt deactivateo_O). Ich hoffe immer noch auf weitere Einzelheiten darüber, wann ich es verwenden soll (und wann nicht), und auf tiefere Beispiele.
Dan Burton

1
Ich glaube, die Antwort ist, es immer zu verwenden, genauso wie Sie immer die Versionskontrolle verwenden sollten.
mlissner

1
Beachten Sie, dass --no-site-packages veraltet ist und jetzt das Standardverhalten ist.
Adrian Lopez

1
Das gab mir eine gute Idee virtualenv. Empfohlen zu verwenden, virtualenvwrapperwas in einem späteren Teil des Dokuments erwähnt wurde.
Gihanchanuka

2
Es ist lustig, wie Ihnen im Grunde weder ein einziges virtualenvTutorial im Internet noch das Benutzerhandbuch von virtualenv zeigen, wie Sie die Umgebung in Ihrem Python-Skript verwenden. Sie richten eine Umgebung nicht nur ein, um eine Umgebung einzurichten. Ich habe ein Tutorial gefunden, das Ihnen zumindest die Alternative zeigt .
Futter

34

Virtualenv ist ein Tool zum Erstellen isolierter Python-Umgebungen.

Angenommen, Sie arbeiten in zwei verschiedenen Projekten, A und B. Projekt A ist ein Webprojekt und das Team verwendet die folgenden Pakete:

  • Python 2.8.x.
  • Django 1.6.x.

Das Projekt B ist ebenfalls ein Webprojekt, aber Ihr Team verwendet:

  • Python 2.7.x.
  • Django 1.4.x.

Die Maschine, auf der Sie arbeiten, hat keine Version von Django. Was sollten Sie tun? Django 1.4 installieren? Django 1.6? Wenn Sie Django 1.4 global installieren, ist es einfach, auf Django 1.6 zu verweisen, um in Projekt A zu arbeiten?

Virtualenv ist Ihre Lösung! Sie können zwei verschiedene virtuelle Umgebungen erstellen, eine für Projekt A und eine für Projekt B. Wenn Sie jetzt in Projekt A arbeiten müssen, aktivieren Sie einfach die virtuelle Umgebung für Projekt A und umgekehrt.

Ein besserer Tipp bei der Verwendung von virtualenv ist die Installation von virtualenvwrapper, um alle vorhandenen virtualenvs einfach zu verwalten. Es ist ein Wrapper zum Erstellen, Arbeiten und Entfernen von virtuellen Envs.


1
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert.
Joce

2
Ich habe die Antwort bearbeitet und mehr Wert hinzugefügt. Vielen Dank für das Feedback
lborgav

8

Hier ist noch eine gute: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

Dieser zeigt die Verwendung pipund eine Pip-Anforderungsdatei mit virtualenv. Die beiden von Scobal vorgeschlagenen Tutorials sind beide sehr hilfreich, aber beide easy_install-zentrisch.

Beachten Sie, dass in keinem dieser Tutorials erläutert wird, wie eine andere Version von Python in einer virtuellen Umgebung ausgeführt wird. Weitere Informationen hierzu finden Sie in dieser SO-Frage: Verwenden Sie eine andere Python-Version mit virtualenv


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.