PATH =“ / custom / dir:$ PATH”前置而不是附加-Conda vs Pyenv

问题描述

我有一个带有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
  1. 我不知道设置/Library/Frameworks/Python.framework/Versions/3.8/bin内容是什么:我的Mac上不存在此目录。我以前安装了没有why the directory was created的Homebrew的Python。我确实删除了该行,但是仍然有一些内容可以在$PATH中导出该行,但是我找不到它!有人猜吗?我确实尝试过grep -r /*,但是这对于我的笔记本电脑来说是一个搜索工作。

  2. 我在.zshenv中设置了用于初始化pyenvconda代码。当然,我确实写过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 <<<

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)