[PYTHON] pyenv + pyenv - Charge automatiquement l'environnement virtualenv dans l'environnement virtualenv

Chose que tu veux faire

Pour ceux qui utilisent python dans l'environnement pyenv + pyenv-virtualenv. Je veux charger automatiquement «.python-version» et «activer» lorsque je déplace le répertoire.

Raison,

cd ~/foo pyenv activate foo

cd ~ pyenv deactivate

Parce qu'il est difficile d'activer et de désactiver un par un.

Si vous utilisez direnv, utilisez ʻeval" $ (direnv hook bash) " S'il est décrit comme suit dans~ / .bashrc etc., chaque fois que cdest fait Il semble que cela m'accroche, donc je devrais pouvoir le faire sans utiliserdirenv. C'était facile à faire après un peu de recherche, donc je l'ai posté après un long moment comme rappel (Je devrais peut-être utiliser direnv`, mais personnellement je ne m'y suis pas habitué)

correction: eval "$(pyenv virtualenv-init -)" Et, s'il est décrit dans ~ / .bash_profile, il basculera automatiquement ... J'avais l'intention de le décrire ci-dessus, mais il y a eu un cas où l'environnement n'a pas changé parce que la position de description était fausse ...

Réglage

On suppose que les environnements «pyenv» et «pyenv-virtualenv» ont été définis. Ajoutez ensuite ce qui suit à .bash_profile etc. dans .bash_profile etc.

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"
}

Après avoir décrit ce qui précède, si vous le rechargez en tant que source .bash_profile Il va automatiquement "désactiver" et "activer".

Lisez d'abord l'emplacement actuel avec pwd S'il y a une .python-version, la première moitié est désactiver

De plus, s'il y a .python-version dans le dossier de destination Chargez-le ʻactiveret enfin chargez lecd` intégré Je bouge.

Je ne pouvais pas appeler la commande intégrée avec bulitin hoge.

référence

J'ai fait référence à ce qui suit que j'ai traversé avec «shell hook».

Recommended Posts

pyenv + pyenv - Charge automatiquement l'environnement virtualenv dans l'environnement virtualenv
Utilisez le dernier pip dans un environnement virtualenv
Utiliser Anaconda dans un environnement pyenv
Byobu plante dans l'environnement pyenv
pyenv, virtualenv Utilisez docker pour gérer l'environnement sans utiliser
django ne peut pas être installé dans l'environnement de développement de pipenv + pyenv
Charger le SDK Python distant avec IntelliJ
J'ai essayé de mettre virtualenv dans l'environnement Cygwin
Installez le package dans un environnement hors ligne
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Comment passer le chemin vers la bibliothèque construite avec pyenv et virtualenv avec PyCharm
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Installez le package python dans un environnement hors ligne
Précautions lors de l'installation de packages dans l'environnement conda
Définir une adresse IP fixe dans l'environnement Linux
environnement de développement python -utilisation de pyenv et virtualenv-
Travaillez dans un environnement virtuel avec Python virtualenv.
python dans virtualenv
Impossible d'importer matplotlib etc. dans l'environnement VirtualEnv
Installez LightGBM dans l'environnement virtualenv OSX
Utilisé depuis l'introduction de Node.js dans l'environnement WSL
L'histoire de la création de l'environnement Linux le plus rapide au monde
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
[Pour les débutants] Installez le package dans l'environnement Anaconda (Janome)
Utilisez CASA Toolkit dans votre propre environnement Python
Chargez le module du même nom dans un autre emplacement
mémo python (pour moi-même): À propos de l'environnement de développement virtualenv
Désactivez complètement l'accélération de la souris dans l'environnement de bureau Linux
Pyenv + virtualenv sur Mac
virtualenvwrapper dans l'environnement Windows
environnement virtuel en Python
construction de l'environnement pyenv + fish
Refléter l'environnement virtuel créé par virtualenv ou conda dans le projet IntelliJ IDEA (PyCharm) (Remarque)
Environnement de développement en Python
Chargez dynamiquement le module.
Construction de l'environnement Python sur Mac (pyenv, virtualenv, anaconda, notebook ipython)
Créer un environnement de développement Python (pyenv / virtualenv) sur Mac (Homebrew)
J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
Activer l'environnement virtuel Python de virtualenv pour Visual Studio Code
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
Maintenance de l'environnement de développement Django + MongoDB (en cours d'écriture)
Commandes souvent utilisées dans l'environnement de développement lors de l'implémentation de Python
Connaissance du test de charge minimale acquise lors du premier test de charge du serveur API
Refléter l'environnement virtuel créé par Miniconda dans le notebook Jupyter
Remarques sur la façon de charger un environnement virtuel avec PyCharm
Exécutez le fichier python après avoir activé l'environnement virtuel python avec le fichier de commandes