【问题标题】:python installed but not recognised by zshpython已安装但zsh无法识别
【发布时间】:2021-02-05 19:33:14
【问题描述】:

我使用的是 Catalina macOS。我以前能够在这个系统上轻松地使用我的 python 安装。但是今天在更新了其他包,比如 wget 和 julia 之后,我在终端上遇到了这些错误zsh: command not found: python3.8。按照theselinks 的建议,我尝试修改 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 <<<

蟒蛇:

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@附近多余的*会导致这个问题吗?如果是,如何解决?

【问题讨论】:

  • 你检查过file /usr/local/bin/python3.8吗?
  • 是的!路径似乎正确,因为我可以在此目录中看到 python3.8@*。
  • 你编辑后有source ~/.zshrc吗?
  • @ 表示它是一个符号链接,不能保证链接文件存在。检查readlink -f /usr/local/bin/python3.8
  • @user1934428 您也可以使用快捷方式[su] 将其自动扩展为Super User。 :) [so], [sf] 一样,以防万一你不知道

标签: python zsh


【解决方案1】:

根据cmets中的讨论,我找到了问题的根源。我运行brew doctor 并确实发现python3.8 符号链接已损坏。然后我删除了brew cleanup 损坏的符号链接并重新安装。

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 2020-06-11
    • 2021-11-19
    • 2021-11-06
    • 2021-06-24
    • 2017-05-15
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多