macOS安装Python后普通用户与sudo调用python3版本不一致如何解决
问题原因
macOS系统内置了Python 3.8.2版本,路径为/usr/bin/python3。你从官网安装的Python 3.9的存储路径未被配置到普通用户PATH环境变量的最高优先级,普通用户执行python3时会优先调用系统内置的3.8版本;而sudo执行命令时加载的PATH配置中Python 3.9的路径优先级更高,因此出现版本不一致的情况。
解决步骤
- 第一步:确认Python 3.9的实际安装路径,执行以下命令:
which sudo python3
官网常规安装的Python 3.9路径为/Library/Frameworks/Python.framework/Versions/3.9/bin/python3,如果输出路径和该值不同,后续步骤替换为你实际查到的路径即可。 - 第二步:编辑当前用户的shell配置文件
如果你使用的是macOS默认的zsh终端,执行open ~/.zshrc打开配置文件;如果使用的是bash终端,执行open ~/.bash_profile打开配置文件,在文件末尾添加如下内容:
# 配置Python 3.9为默认python3版本 export PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH" alias python3="/Library/Frameworks/Python.framework/Versions/3.9/bin/python3" alias pip3="/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3"
- 第三步:加载配置使其生效
zsh终端执行:source ~/.zshrc
bash终端执行:source ~/.bash_profile - 第四步:验证配置结果
执行python3 -V,输出为Python 3.9.7即为配置成功。
注意事项
- 不要修改
/usr/bin目录下的系统内置Python文件,避免破坏系统依赖自带Python的功能模块 - 后续安装第三方依赖包直接使用
pip3 install 包名即可,无需添加sudo,避免出现权限混乱问题
内容的提问来源于stack exchange,提问作者jozinko9
相关产品推荐
相关产品推荐

