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-virtualenv
Fü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-virtualenv
Oder wenn Sie die neueste Entwicklungsveröffentlichung installieren möchten:
brew install --HEAD pyenv-virtualenv
Nach 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/python
Sie 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.