5c532a85cf7c4f1d5bf6b9fd35e964b4545c8de3

Author
Carlo Sala <carlosalag@protonmail.com>
Committer
Carlo Sala <carlosalag@protonmail.com>
Date

Message

fix(pyenv)!: do not load if a virtualenv is present

BREAKING CHANGE: `pyenv` will not be loaded at startup anymore if a
virtual env if found to avoid overwriting the expected python version.

Closes #12589

Diff

 1diff --git a/plugins/pyenv/README.md b/plugins/pyenv/README.md
 2index f18fc8cfb5c7ecc1599ea55ff4be066ef50a5485..95d79cb52ef3bed8866e799c1716d502d8303844 100644
 3--- a/plugins/pyenv/README.md
 4+++ b/plugins/pyenv/README.md
 5@@ -2,7 +2,7 @@
 6 
 7 This plugin looks for [pyenv](https://github.com/pyenv/pyenv), a Simple Python version
 8 management system, and loads it if it's found. It also loads pyenv-virtualenv, a pyenv
 9-plugin to manage virtualenv, if it's found.
10+plugin to manage virtualenv, if it's found. If a venv is found pyenv won't load.
11 
12 To use it, add `pyenv` to the plugins array in your zshrc file:
13 
14diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh
15index 48c8ffaf55a44f5153d87fbeca2b2594ac173c61..b5c9a7bd3294897f45997e92c1b535439b85c77d 100644
16--- a/plugins/pyenv/pyenv.plugin.zsh
17+++ b/plugins/pyenv/pyenv.plugin.zsh
18@@ -1,3 +1,7 @@
19+# if there is a virtualenv already loaded pyenv should not be loaded
20+# see https://github.com/ohmyzsh/ohmyzsh/issues/12589
21+[[ -n ${VIRTUAL_ENV:-} ]] && return
22+
23 pyenv_config_warning() {
24   [[ "$ZSH_PYENV_QUIET" != true ]] || return 0
25