我正在使用 conda 和 pyenv,并且想在同一个终端之间切换。
我的 .bashrc 中初始化两者的条目如下:
# >>> 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
和
# Pyenv initialize
export PATH="/home/myUser/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
我只是尝试将初始化行(对于 pyenv)放在单独的 shell 脚本中,但是它不起作用(pyenv 没有初始化)。
信息:Pyenv 是另一个虚拟 Python 环境,我需要它与诗歌结合使用
答案1
我似乎找到了至少一个解决方法。似乎一旦激活了 pyenv,就很难停用它,因此我按照这个建议在 .bashrc 中定义了一个 init 函数邮政
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 -)"
}
然后我只需根据需要在每个 shell 中激活 pyenv。请注意,我尝试的 bash 脚本不起作用(可能是因为它打开了一个单独的 shell 会话)。