[PYTHON] pyenv + pyenv-Laden Sie die virtualenv-Umgebung automatisch in die virtualenv-Umgebung

Was du machen willst

Für diejenigen, die Python in der Umgebung "pyenv" + "pyenv-virtualenv" verwenden. Ich möchte automatisch ".python-version" laden und "aktivieren", wenn das Verzeichnis verschoben wird.

Grund,

cd ~/foo pyenv activate foo

cd ~ pyenv deactivate

Weil es schwierig ist, eine nach der anderen zu aktivieren und zu deaktivieren.

Wenn Sie direnv verwenden, verwenden Sie eval" $ (direnv hook bash) " Wenn es wie folgt in ~ / .bashrc usw. beschrieben wird, wird jedes Mal cd fertig Es scheint, dass es mich fesselt, also sollte ich es tun können, ohne direnv zu verwenden. Nach ein wenig Recherche war es einfach, also habe ich es nach langer Zeit als Erinnerung gepostet (Vielleicht sollte ich direnv verwenden, aber ich persönlich habe mich nicht daran gewöhnt)

Korrektur: eval "$(pyenv virtualenv-init -)" Und wenn es in ~ / .bash_profile beschrieben ist, schaltet es automatisch um ... Ich wollte es oben beschrieben haben, aber es gab einen Fall, in dem die Umgebung nicht wechselte, weil die Beschreibungsposition falsch war ...

Aufbau

Es wird angenommen, dass die Umgebungen "pyenv" und "pyenv-virtualenv" festgelegt wurden. Fügen Sie dann Folgendes zu .bash_profile usw. in .bash_profile usw. hinzu.

cd(){
    now_path=`pwd`
    now_pyenv_filepath=$now_path/.python-version
    if [ -e ${now_pyenv_filepath} ];then
        now_pyenv=`cat ${now_pyenv_filepath}`
        pyenv deactivate
    fi

    new_pyenv_filepath=$1/.python-version

    if [ -e ${new_pyenv_filepath} ];then
        local_env=`cat ${new_pyenv_filepath}`
        pyenv activate ${local_env}
    fi

    builtin cd "$1"
}

Nachdem Sie das oben beschriebene beschrieben haben, laden Sie es als source .bash_profile neu Es wird automatisch "deaktiviert" und "aktiviert".

Lesen Sie zuerst den aktuellen Speicherort mit pwd Wenn es dort eine ".python-Version" gibt, ist die erste Hälfte "deaktiviert"

Außerdem, wenn sich im Zielordner ".python-version" befindet Laden Sie es "aktivieren" und laden Sie schließlich die eingebaute "CD" Ich ziehe um.

Ich konnte den eingebauten Befehl nicht mit "bulitin hoge" aufrufen.

Referenz

Ich bezog mich auf das Folgende, das ich mit "Shell Hook" durchgemacht habe.

Recommended Posts

pyenv + pyenv-Laden Sie die virtualenv-Umgebung automatisch in die virtualenv-Umgebung
Verwenden Sie den neuesten Pip in einer virtuellen Umgebung
Verwenden Sie Anaconda in einer Pyenv-Umgebung
Byobu stürzt in der Pyenv-Umgebung ab
pyenv, virtualenv Verwenden Sie Docker, um die Umgebung ohne Verwendung zu verwalten
django kann nicht in der Entwicklungsumgebung von pipenv + pyenv installiert werden
Laden Sie das Remote-Python-SDK mit IntelliJ
Ich habe versucht, virtualenv in die Cygwin-Umgebung zu integrieren
Installieren Sie das Paket in einer Offline-Umgebung
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
So übergeben Sie den Pfad zu der mit pyenv und virtualenv mit PyCharm erstellten Bibliothek
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Installieren Sie das Python-Paket in einer Offline-Umgebung
Vorsichtsmaßnahmen bei der Installation von Paketen in der Conda-Umgebung
Legen Sie eine feste IP in der Linux-Umgebung fest
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Python in Virtualenv
Matplotlib usw. kann nicht in die VirtualEnv-Umgebung importiert werden
Installieren Sie LightGBM in einer virtuellen OSX-Umgebung
Wird ab der Einführung von Node.js in der WSL-Umgebung verwendet
Die Geschichte des Aufbaus der schnellsten Linux-Umgebung der Welt
Die Geschichte des Teilens der Pyenv-Umgebung mit mehreren Benutzern
[Für Anfänger] Installieren Sie das Paket in der Anaconda-Umgebung (Janome)
Verwenden Sie CASA Toolkit in Ihrer eigenen Python-Umgebung
Laden Sie das gleichnamige Modul an einer anderen Stelle
Python-Memo (für mich): Über die Entwicklungsumgebung virtualenv
Deaktivieren Sie die Mausbeschleunigung in einer Linux-Desktop-Umgebung vollständig
Pyenv + virtualenv auf dem Mac
virtualenvwrapper in der Windows-Umgebung
virtuelle Umgebung in Python
Bau von Pyenv + Fischumwelt
Reflektieren Sie die virtuelle Umgebung, die von virtualenv oder conda im Projekt IntelliJ IDEA (PyCharm) erstellt wurde (Hinweis).
Entwicklungsumgebung in Python
Laden Sie das Modul dynamisch.
Aufbau einer Python-Umgebung auf einem Mac (pyenv, virtualenv, anaconda, ipython notebook)
Erstellen Sie eine Python-Entwicklungsumgebung (pyenv / virtualenv) auf einem Mac (Homebrew).
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Aktivieren Sie die virtuelle Python-Umgebung von virtualenv für Visual Studio Code
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Wartung der Django + MongoDB-Entwicklungsumgebung (mitten im Schreiben)
Befehle, die häufig in der Entwicklungsumgebung während der Python-Implementierung verwendet werden
Kenntnisse über Mindestauslastungstests, die beim ersten Auslastungstest des API-Servers erworben wurden
Reflektieren Sie die von Miniconda erstellte virtuelle Umgebung im Jupyter-Notizbuch
Hinweise zum Laden einer virtuellen Umgebung mit PyCharm
Führen Sie die Python-Datei aus, nachdem Sie die virtuelle Python-Umgebung mit der Batch-Datei aktiviert haben