Pyenv-virtuualenv ist ein Pyenv-Plugin, das Funktionen zum Verwalten von Virtualenvs und Conda-Umgebungen für Python auf Unix-ähnlichen Systemen bietet.
(Beachten Sie: Wenn Sie ein vorhandener Benutzer von VirtualenvWrapper sind und es lieben, kann Pyenv-VirtualenvWrapper Ihnen (zusätzlich) helfen, Ihre Virtualenvs zu verwalten.)
Dadurch werden die neueste Entwicklungsversion von Pyenv-Virtualenv in das $(pyenv root)/plugins/pyenv-virtualenv Verzeichnis eingebunden.
Wichtiger Hinweis: Wenn Sie PyEnV in ein nicht standardmäßiges Verzeichnis installiert haben, stellen Sie sicher, dass Sie dieses Repo in das Verzeichnis "Plugins" überall dort klonen, wo Sie installiert haben.
Aus diesem Verzeichnis können Sie:
git pull ausführen, um die neuesten Änderungen herunterzuladen.Schauen Sie sich Pyenv-virtualenv in das Plugin-Verzeichnis an
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenvFür die Fischschale:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv (Optional) Fügen Sie Ihrer Shell pyenv virtualenv-init hinzu, um die automatische Aktivierung von virtuellenvs zu ermöglichen. Dies ist völlig optional, aber ziemlich nützlich. Siehe "Aktivieren Sie Virtualenv" unten.
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc Fischschale Hinweis : Fügen Sie dies Ihrem ~/.config/fish/config.fish hinzu
status --is-interactive ; and pyenv virtualenv-init - | source ZSH HINWEIS : Ändern Sie Ihre ~/.zshrc -Datei anstelle von ~/.bashrc .
Starten Sie Ihre Schale neu, um pyenv-virtualenv zu aktivieren
exec " $SHELL " MacOS-Benutzer können Pyenv-Virtualenv mit dem Homebrew-Paket-Manager installieren. Auf diese Weise erhalten Sie Zugriff auf den Befehl pyenv-virtualenv . Wenn Sie Pyenv installiert haben, können Sie auch den Befehl pyenv virtualenv verwenden.
Dies ist die empfohlene Installationsmethode, wenn Sie PyEnV mit Homebrew installiert haben.
brew install pyenv-virtualenvOder wenn Sie die neueste Entwicklungsveröffentlichung installieren möchten:
brew install --HEAD pyenv-virtualenvNach der Installation müssen Sie weiterhin Pyenv -Shell -Setup -Schritte ausführen und dann hinzufügen
eval " $( pyenv virtualenv-init - ) " an die .rc -Datei Ihrer Shell (wie in den Einschränkungen angegeben). Sie müssen das immer nur einmal tun.
pyenv virtualenv mit pyenv So erstellen Sie ein Virtualenv für die Python -Version, die mit Pyenv verwendet wird, pyenv virtualenv und geben die gewünschte Python -Version und den Namen des Virtualenv -Verzeichnisses an. Zum Beispiel,
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10 Erstellt ein Virtualenv basierend auf Python 2.7.10 unter $(pyenv root)/versions in einem Ordner namens my-virtual-env-2.7.10 .
pyenv virtualenv leitet alle Optionen in den zugrunde liegenden Befehl weiter, der tatsächlich die virtuelle Umgebung ( conda , virtualenv oder python -m venv ) erstellt. Weitere Informationen finden Sie in der Ausgabe von pyenv virtualenv --help .
Wenn pyenv virtualenv nur ein Argument gibt, wird das Virtualenv mit dem gegebenen Namen erstellt, der auf der aktuellen Pyenv Python -Version basiert.
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34 pyenv virtualenvs zeigt Ihnen die Liste der vorhandenen Virtualenvs und conda -Umgebungen.
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)Es gibt zwei Einträge für jeden Virtualenv, und desto kürzer ist nur ein Symlink.
In einigen externen Tools (z. B. JEDI) können Sie möglicherweise die Umgebungen von Virtualenv und conda activate .
Wenn eval "$(pyenv virtualenv-init -)" in Ihrer Shell konfiguriert ist, aktiviert pyenv-virtualenv automatisch Virtualenvs zum Eingeben/Verlassen von Verzeichnissen, die eine .python-version enthalten, die den Namen einer gültigen virtuellen Umgebung als eine virtuelle Umgebung enthalten gezeigt in der Ausgabe von pyenv virtualenvs (z. B. venv34 oder 3.4.3/envs/venv34 in Beispiel oben). .python-version Dateien werden von Pyenv verwendet, um lokale Python-Versionen zu bezeichnen, und können mit dem pyenv local erstellt und gelöscht werden.
Sie können auch einen Pyenv Virtualenv manuell aktivieren und deaktivieren:
pyenv activate < name >
pyenv deactivate Das Entfernen der Verzeichnisse in $(pyenv root)/versions und $(pyenv root)/versions/{version}/envs löscht den Virtualenv oder Sie können ausführen:
pyenv uninstall my-virtual-env Sie können vorhandene VirtualenVs auch mit dem Befehl virtualenv-delete löschen, z. B. Sie können ausführen:
pyenv virtualenv-delete my-virtual-env Dadurch wird Virtualenv namens my-virtual-env gelöscht.
Für CPython 3.3 und neuer gibt es ein Venv -Modul. Es bietet ein ausführbares venv , das der Nachfolger von virtualenv ist und standardmäßig verteilt ist.
pyenv-virtualenv verwendet python -m venv wenn es verfügbar ist und der Befehl virtualenv nicht verfügbar ist.
Sie können conda -Umgebungen mit conda create wie die Standard -Anaconda/Miniconda -Installationen. Um diese Umgebungen zu verwenden, können Sie pyenv activate und pyenv deactivate .
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH Wenn conda verfügbar ist, verwendet pyenv virtualenv sie, um Umgebung mit conda create zu schaffen.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1 Sie können Version wie miniconda3-3.9.1/envs/myenv verwenden, um conda Umgebung als Version in Pyenv anzugeben.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/pythonSie können bestimmte Umgebungsvariablen festlegen, um Pyenv-Virtualenv zu kontrollieren.
PYENV_VIRTUALENV_CACHE_PATH , falls festgelegt, gibt ein Verzeichnis an, das für Caching heruntergeladene Paketdateien verwendet werden soll.VIRTUALENV_VERSION erzwingt, falls eingestellt, pyenv-virtualenv, die gewünschte Version von Virtualenv zu installieren. Wenn virtualenv nicht installiert wurde, versucht Pyenv-Virtualenv, die angegebene Version von Virtualenv zu installieren.GET_PIP , wenn Set und venv gegenüber virtualenv bevorzugt werden, verwenden Sie get_pip.py vom angegebenen Ort.GET_PIP_URL , wenn set und venv gegenüber virtualenv bevorzugt werden, laden Sie get_pip.py von der angegebenen URL herunter.PIP_VERSION , wenn Set und venv gegenüber virtualenv bevorzugt werden, installieren Sie die angegebene Version von PIP.PYENV_VIRTUALENV_VERBOSE_ACTIVATE zeigt, falls eingestellt, einige ausführliche Ausgänge für Aktivierung und Deaktivierung anPYENV_VIRTUALENV_PROMPT können Benutzer, falls festgelegt, anpassen, wie pyenv-virtualenv ihre Shell-Eingabeaufforderung modifiziert. Die Standardaufforderung ("(venv)") wird mit jedem benutzerdefinierten Text überschrieben. Geben Sie den Standort des virtuellen Umgebungsnamens mit der String {venv} an. Beispielsweise wäre die Standard -Eingabeaufforderung -Zeichenfolge ({venv}) . Siehe ChangeLog.md.
(Die MIT -Lizenz)
Die Erlaubnis wird hiermit kostenlos an eine Person erteilt, die eine Kopie dieser Software und zugehörigen Dokumentationsdateien ("Software") erhält, um die Software ohne Einschränkung zu behandeln, einschließlich ohne Einschränkung der Rechte zu verwenden, zu kopieren, zu modifizieren, zu verschmelzen, verschmelzen , veröffentlichen, vertreiben, unterlizenzieren und/oder Kopien der Software verkaufen und Personen, denen die Software dazu bereitgestellt wird, unter den folgenden Bedingungen ermöglicht:
Die oben genannte Copyright -Mitteilung und diese Erlaubnisbekanntmachung müssen in alle Kopien oder wesentlichen Teile der Software enthalten sein.
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall haftet die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen, sei es in einer Vertragsklage, unerlaubter Handlung oder anderweitig, aus oder im Zusammenhang mit der Software oder anderen Geschäften in der SOFTWARE.