Mac自带的/usr/bin/python3无pip是因SIP保护,系统故意锁死且不预装pip;应使用Homebrew安装Python(含pip3),确保which python3指向/opt/homebrew/bin/python3或/usr/local/bin/python3,并配置PATH。

Mac 自带的 Python(/usr/bin/python3)没有 pip,也不能装 pip——不是操作错了,是系统故意锁死的。
为什么 /usr/bin/python3 里没有 pip?
macOS 自带的 python3(比如 3.9 或 3.11)是只读系统组件,由 SIP(System Integrity Protection)保护。它不带 pip、venv 等工具,也禁止你用 sudo pip3 install 往里面塞包——强行操作会导致系统工具(如 softwareupdate)报错甚至失效。
常见错误现象:
-
pip3: command not found(但python3 --version能输出) -
PermissionError: [Errno 13] Permission denied(执行sudo pip3 install时) -
which pip3返回空,而which python3返回/usr/bin/python3
怎么确认你正在用系统 Python 还是独立安装的?
运行这两条命令,看路径是否一致:
立即学习“Python免费学习笔记(深入)”;
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
-
which python3→ 如果是/usr/bin/python3,就是系统版本,别碰 -
which pip3→ 如果为空,说明没暴露或根本没装 -
python3 -m pip --version→ 如果成功返回版本号,说明 pip 已存在但没注册为命令
真正可用的 Python 必须满足:which python3 返回 /opt/homebrew/bin/python3(Apple Silicon)或 /usr/local/bin/python3(Intel),且 python3 -m pip --version 和 pip3 --version 都能正常输出。
Homebrew 安装是最稳妥的方案
Homebrew 安装的 python 包自带完整生态(pip3、venv、idle),路径自动加入 $PATH,无需手动改配置,也不会污染系统。
- 先装 Homebrew(若未装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 再装 Python:
brew install python(注意:不是python3,Homebrew 的python就是 Python 3) - 验证:
python3 --version和pip3 --version都应有输出,且which python3不是/usr/bin/python3 - 如需简写
pip(而非pip3),加别名:echo "alias pip=pip3" >> ~/.zshrc && source ~/.zshrc
别用 get-pip.py 或 sudo easy_install pip 往系统 Python 里硬装——这些操作看似“修好了”,实则埋下权限冲突和升级失败的隐患。
容易被忽略的关键点
即使你用官网 .pkg 安装了 Python,如果终端新开后 which python3 仍指向 /usr/bin/python3,大概率是 shell 没加载 PATH 配置。检查 ~/.zprofile 是否含 /Library/Frameworks/Python.framework/Versions/Current/bin,并确保你关掉又重开了终端(不是仅 source)。另外,pyenv、conda 等多版本管理器虽然灵活,但会增加 PATH 冲突概率,新手建议从 Homebrew 单版本起步。

















