【发布时间】:2020-10-07 08:25:52
【问题描述】:
我有一台装有 Pyenv 和 Anaconda 的 Mac(最新软件更新)。我使用 Homebrew 管理软件包并安装了 Python 3。当我echo $PATH 我得到以下信息:
/Library/Frameworks/Python.framework/Versions/3.8/bin:
\ /usr/local/bin:
\ /usr/bin:
\ /bin:
\ /usr/local/sbin:
\ /usr/sbin:
\ /sbin:
\ /Library/TeX/texbin:
\ /Users/luca/.pyenv/versions/anaconda3-2020.02/condabin:
\ /Users/luca/.pyenv/versions/3.8.5/bin:
\ /Users/luca/.pyenv/bin
-
我不知道
/Library/Frameworks/Python.framework/Versions/3.8/bin设置了什么:这个目录在我的 Mac 上不存在。我之前安装了没有 Homebrew 的 Python,即 why the directory was created。我确实删除了它,但是在$PATH中仍然有导出该行的内容,但我找不到它!有人有猜测吗?我确实尝试过grep -r /*它,但这对于我的笔记本电脑来说太难了。 -
我在我的
.zshenv中设置了初始化pyenv和conda的代码。当然,我确实写了PATH="/dir/to/conda/bin:$PATH",pyenv也是如此(参见下面的代码)。我不明白为什么,但它们最终位于$PATH的end。有人知道为什么吗?是因为eval "$(pyenv init -)"在conda之前被评估了吗?
# >>> pyenv initialize
export PYENV_SHELL=$SHELL
export PATH="/Users/luca/.pyenv/bin:$PATH"
export PATH="/Users/luca/.pyenv/versions/3.8.5/bin:$PATH" #export Python 3.8 bin directory
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
# <<< pyenv initialize <<<
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/luca/.pyenv/versions/anaconda3-2020.02/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/luca/.pyenv/versions/anaconda3-2020.02/etc/profile.d/conda.sh" ]; then
. "/Users/luca/.pyenv/versions/anaconda3-2020.02/etc/profile.d/conda.sh"
else
export PATH="/Users/luca/.pyenv/versions/anaconda3-2020.02/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
【问题讨论】:
标签: python anaconda conda zsh pyenv