" />
文章

macOS 强制安装 Python(break-system-packages)

环境报错如下:

error: externally-managed-environment
...
You may restore the old behavior of pip by passing
the '--break-system-packages' flag to pip, or by adding
'break-system-packages = true' to your pip.conf file.
...

原因分析:
- Python 环境被标记为“externally managed”,通常是因为 macOS 上用 Homebrew 安装了 Python,pip 默认不允许直接在全局环境安装包,以防止破坏系统依赖。
- 已经激活了 venv 虚拟环境,但依然遇到此问题,说明当前虚拟环境可能不是标准方式创建,或被 Homebrew 管理影响。


解决方法:

方案一:用 --break-system-packages 强制安装(推荐在虚拟环境下用)

已经激活了虚拟环境,可以这样安装:

pip install pymysql --break-system-packages

方案二:重新创建一个新的虚拟环境

  1. 退出当前虚拟环境:
    bash deactivate
  2. 删除旧的 venv(可选):
    bash rm -rf venv
  3. 创建新的虚拟环境:
    bash python3 -m venv venv
  4. 激活新虚拟环境:
    bash source venv/bin/activate
  5. 安装依赖:
    bash pip install pymysql

建议优先用方案一,如果还有问题再用方案二。

安装完成后,再运行脚本即可。

License:  CC BY 4.0