macOS Catalina系统如何将Anaconda设为默认Python环境
问题本质
macOS Catalina 10.15及以上版本的系统默认登录shell已经从bash切换为zsh,你在.bash_profile中配置的conda初始化逻辑仅会被bash环境加载,zsh终端完全不会读取这个文件,导致Anaconda的路径没有被加到PATH环境变量的最高优先级,终端调用python命令时仍然命中系统自带的Python 2.7。
找不到.zprofile文件是正常情况——这个文件是用户自定义配置文件,系统不会默认在用户目录下生成,不需要刻意搜寻,直接手动创建即可完成配置。
分步操作指南
- 第一步:确认当前终端的默认shell
在终端执行命令echo $SHELL,如果返回结果为/bin/zsh,说明和问题本质的判断完全匹配,继续后续操作即可。 - 第二步:生成zsh环境下的conda配置
不需要手动敲代码,直接执行下面的命令自动把原有.bash_profile里的conda配置同步到zsh需要的配置文件中:- 切换到个人用户家目录:
cd ~ - 自动追加配置到新建的
.zprofile文件:cat ~/.bash_profile >> ~/.zprofile - 给配置文件加系统可读权限,避免加载失败:
chmod 644 ~/.zprofile
- 切换到个人用户家目录:
- 第三步:立刻生效配置
执行source ~/.zprofile,不用重启终端就能让新的环境变量配置生效。 - 第四步:验证配置是否成功
- 执行
which python,正确的返回结果应为/opt/anaconda3/bin/python,不再是系统路径下的/usr/bin/python - 执行
python进入交互环境,查看输出版本,确认是Anaconda内置的Python 3.x版本,而非系统自带的2.7版本。
- 执行
常见踩坑提示
- 更稳妥的配置方式:如果上述手动复制的步骤执行后仍不生效,可以直接在终端运行
conda init zsh,conda会自动识别zsh环境,把需要的初始化代码写入对应的zsh配置文件,比手动复制的准确率更高。 - 不要手动修改系统目录下的Python文件、删除系统自带的Python 2.7软链,否则可能导致系统内置脚本调用失败。
- 如果配置完成后仍命中系统Python,检查家目录下的
.zshrc文件,确认文件中是否存在把/usr/bin路径放到PATH最前面的代码行,把这类代码行移动到conda初始化配置段的后方即可。
内容的提问来源于stack exchange,提问作者Rene
相关产品推荐
相关产品推荐

