首页 > 解决方案 > python已安装但zsh无法识别

问题描述

我正在使用 Catalina macOS。我以前能够在这个系统上轻松地使用我的 python 安装。但是今天在更新了其他包,比如 wget 和 julia 之后,我zsh: command not found: python3.8在终端上遇到了这些错误。按照对这些 链接的建议,我尝试修改 PATH 和 zshrc,但这些方法都不能解决我的问题。如果您能分享有关如何处理此问题的建议,我将不胜感激。

这是我系统的一些输出。

zshrc:

vi ~/.zshrc

alias python=/usr/local/bin/python3.8
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/shasa/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
if [ -f "/Users/shasa/anaconda3/etc/profile.d/conda.sh" ]; then
    . "/Users/shasa/anaconda3/etc/profile.d/conda.sh"
else
    export PATH="/Users/shasa/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

Python:

which python
python: aliased to /usr/local/bin/python3.8

小路:

echo $PATH 
/Users/shasa/anaconda3/bin:/Users/shasa/anaconda3/condabin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin

编辑 1:在/usr/local/bin/中,我可以看到存在 python3@、python3.9@ 和 python3.8@*。你认为python3.8@附近多余的*会导致这个问题吗?如果是,如何解决?

标签: pythonzsh

解决方案


经过评论中的讨论,我找到了问题的根源。我跑brew doctor了,确实发现 python3.8 符号链接被破坏了。然后我删除了损坏的符号链接brew cleanup并再次重新安装。


推荐阅读