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).