virtualenvMit 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 pythons verwenden möchten , müssen Sie activatees verwenden (indem Sie ein Skript PATHausfü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 pipusw.) die Version dieses virtualenv auf, bis Sie deactivatees erreichen (wodurch das wiederhergestellt wird PATH).
pyenvarbeitet 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 pythonBefehl verwenden. Klingt ähnlich, aber die praktische Anwendung ist etwas anders. Es funktioniert, indem es sein Shim- pythonSkript PATH(dauerhaft) vorstellt und dann entscheidet, welches "echte" pythonaufgerufen werden soll. Sie können pyenv sogar so konfigurieren, dass es einen Ihrer virtuellen Python-Aufrufe aufruft (mithilfe des pyenv-virtualenvPlugins). Python-Versionen, die Sie mit pyenvgo 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 PATHoder 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).