¿Cómo alternar entre Conda y Pyenv sin reiniciar la terminal?

¿Cómo alternar entre Conda y Pyenv sin reiniciar la terminal?

Estoy usando conda y pyenv y me gustaría cambiar entre ambos mientras permanezco en la misma terminal.

Las entradas para inicializar ambos en mi .bashrc se ven de la siguiente manera:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/myUser/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/myUser/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/myUser/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/myUser/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup

y

# Pyenv initialize
export PATH="/home/myUser/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Simplemente intenté poner las líneas de inicialización (para pyenv) en un script de shell separado, sin embargo, no funciona (pyenv no se inicializa).

Información: Pyenv es otro entorno virtual de Python que necesito para usar en combinación con poesía.

Respuesta1

Parece que he encontrado al menos una solución alternativa. Parece que desactivar pyenv una vez activado es algo difícil de hacer, por lo que defino una función init en mi .bashrc como se sugiere en estecorreo

enable-pyenv () {
    # Load pyenv automatically by adding
    # the following to your profile:

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
}

Luego simplemente activo pyenv en cada shell a pedido. Tenga en cuenta que el script bash que probé no funcionaba (probablemente porque abre una sesión de shell separada).

información relacionada