我同時使用 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 會話)。