virtualenv
Mit dieser Option können Sie eine benutzerdefinierte Python-Installation erstellen, z. B. in einem Unterverzeichnis Ihres Projekts. Jedes Ihrer Projekte kann somit ein eigenes python
(oder sogar mehrere) Projekt unter der jeweiligen virtuellen Umgebung haben. Es ist vollkommen in Ordnung, wenn einige / alle virtuellen Umgebungen sogar dieselbe Version von python
(z. B. 2.7.16) ohne Konflikte haben - sie leben getrennt und kennen sich nicht. Wenn Sie eines dieser python
s verwenden möchten , müssen Sie activate
es verwenden (indem Sie ein Skript PATH
ausführen, das Ihr vorübergehend ändert, um sicherzustellen, dass das bin/
Verzeichnis von virtualenv an erster Stelle steht). Ab diesem Zeitpunkt ruft das Aufrufen python
(oder pip
usw.) die Version dieses virtualenv auf, bis Sie deactivate
es erreichen (wodurch das wiederhergestellt wird PATH
).
pyenv
arbeitet in einem größeren Maßstab als virtualenv
- es enthält ein Register von Python-Installationen (und kann zum Installieren neuer verwendet werden) und ermöglicht es Ihnen, zu konfigurieren, welche Python-Version ausgeführt werden soll, wenn Sie den python
Befehl verwenden. Klingt ähnlich, aber die praktische Anwendung ist etwas anders. Es funktioniert, indem es sein Shim- python
Skript PATH
(dauerhaft) vorstellt und dann entscheidet, welches "echte" python
aufgerufen werden soll. Sie können pyenv sogar so konfigurieren, dass es einen Ihrer virtuellen Python-Aufrufe aufruft (mithilfe des pyenv-virtualenv
Plugins). Python-Versionen, die Sie mit pyenv
go installieren, gehen in das $(pyenv root)/versions/
Verzeichnis (standardmäßig ist pyenv root ~ / .pyenv) und daher globaler als virtualenv. Normalerweise können Sie keine über installierten Python-Versionen duplizieren pyenv
, zumindest ist dies nicht die Hauptidee.
Um eine virtuelle Umgebung mit einer bestimmten Python-Version zu erstellen, müssen Sie diese Version irgendwo in Ihrem System haben (unabhängig davon, ob sie sich auf der Version befindet PATH
oder nicht) und sie im Wesentlichen in Ihre neu erstellte virtuelle Version klonen. Eine Möglichkeit, eine bestimmte Version zu erhalten, besteht natürlich darin, sie über zu installieren pyenv
. Sobald dies erledigt ist, können einzelne virtuelle Umgebungen voneinander abweichen, indem verschiedene Module (oder Versionen davon) in ihnen installiert werden.
Zusamenfassend:
virtualenv
Ermöglicht das Erstellen lokaler, unabhängiger Python-Installationen durch Klonen von vorhandenen
pyenv
Mit dieser Option können Sie verschiedene Python-Versionen gleichzeitig installieren (entweder systemweit oder nur für den lokalen Benutzer) und dann auswählen, welche der zahlreichen Pythons zu einem bestimmten Zeitpunkt ausgeführt werden sollen (einschließlich der von virtualenv oder Anaconda erstellten).