【问题标题】:Set Anaconda as default python on macOS Catalina在 macOS Catalina 上将 Anaconda 设置为默认 python
【发布时间】:2021-02-20 19:40:34
【问题描述】:

我目前正在使用 Python 迈出第一步,并尝试让 Anaconda 在我的 mac (macOS Catalania 10.15) 上运行,作为我使用 Python 的默认选项。但是,当我在终端中键入“python”时,仍然显示的是 Python 2.7。

我发现为了默认运行 anaconda,我需要自定义我的 .bash_profile。但看起来,anaconda 已经在那里了:

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

我发现这个问题似乎解决了同样的问题,但我不确定如何将它的解决方案应用于我的问题。那里的评论指出,从 macOS 10.15 开始,我需要更改 .zprofile。不幸的是,我找不到该文件。

Mac using default Python despite Anaconda install

如果你们中的任何人能提供帮助,我将非常感激! 勒内

【问题讨论】:

  • 如果你没有文件,那么你可以通过输入sudo nano ~/.zprofile 或者有时它使用sudo nano ~/.zsh来创建一个(这适用于我的情况)。
  • 我很久以前就为学生写了一篇博客,我在其中向他们展示了如何在bash profilezsh 中添加一些内容。更多详情可以参考this
  • @JayPatel:谢谢!我用 ´´´´sudo nano ~/.zsh´´´´ 创建了文件,它可以工作!非常感谢!

标签: python


【解决方案1】:

Catalina 默认运行zsh,您可以通过echo $0 确认。您更改的文件适用于bash

将以下 anaconda 初始化行复制到 .zshrc,您应该一切顺利:

__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

与您的文件有关的唯一区别是将shell.bash 替换为shell.zsh

【讨论】:

  • 感谢卢卡斯的帮助!我找不到该文件,所以我按照这里的描述创建了它:superuser.com/questions/886132/where-is-the-zshrc-file-on-mac 我粘贴了初始化,但我仍然默认使用 Python 2.7。难道是我为所有用户安装了 Anaconda,而不仅仅是我自己?我是否必须更改某些内容才能检查 .zshrc ?感谢您的帮助!
  • @Rene 它应该适用于所有用户,包括您自己。我认为问题在于代码 sn-p 使用的是shell.bash,它应该是shell.zsh。我编辑了我的答案以反映这一点。如果这不起作用,请大声喊叫。也许很明显,但是在对.zshrc 进行任何编辑后,您需要启动一个新终端或重新启动 shell。是的,您在创建文件时做了正确的事情。您是否确认您确实在运行 zshecho $0
  • @Rene 我很高兴它成功了。你能接受这个作为答案吗?谢谢。
  • @LukaszTracewski 很好的答案,效果很好。
猜你喜欢
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
  • 2020-11-15
  • 2014-07-18
  • 2023-03-14
相关资源
最近更新 更多