MacBook Air M1(Sonoma系统)pip安装Django报错externally-managed-environment
解决MacBook Air M1 Sonoma系统下pip3安装Django的externally-managed-environment错误
我使用运行Sonoma系统的全新MacBook Air M1笔记本,已成功安装Homebrew和pip,但执行pip3 install Django时出现以下错误:
python3 -m pip install Django ─╯ error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. If you wish to install a Python library that isn't in Homebrew, use a virtual environment: python3 -m venv path/to/venv source path/to/venv/bin/activate python3 -m pip install xyz If you wish to install a Python application that isn't in Homebrew, it may be easiest to use 'pipx install xyz', which will manage a virtual environment for you. You can install pipx with brew install pipx 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. The latter will permanently disable this error. If you disable this error, we STRONGLY recommend that you additionally pass the '--user' flag to pip, or set 'user = true' in your pip.conf file. Failure to do this can result in a broken Homebrew installation. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.
我尝试过brew install pipx和pipx install Django,但仍未解决问题,怀疑pip路径是否有误,想知道有没有简便的解决方法?
执行which pip3得到路径:
which pip3 ─╯ /opt/homebrew/bin/pip3
该路径对Mac M1来说应该是正确的?
执行pip3 --version得到:
pip 24.0 from /opt/homebrew/lib/python3.12/site-packages/pip (python 3.12)
我猜测这是冲突导致的?
解决方案
推荐:使用虚拟环境
这是最安全的方式,完全隔离项目依赖,不会干扰系统或Homebrew环境:- 创建虚拟环境(路径可自定义):
python3 -m venv ~/my-django-env - 激活虚拟环境:
source ~/my-django-env/bin/activate - 激活后直接安装Django:
pip install Django(虚拟环境内无需加3) - 退出虚拟环境执行:
deactivate
- 创建虚拟环境(路径可自定义):
用Homebrew直接安装Django
若Homebrew仓库包含Django,直接执行:brew install django,由Homebrew统一管理依赖,避免环境冲突。修复pipx的使用
pipx安装后需要确保其路径加入环境变量,执行pipx ensurepath,重启终端后再执行pipx install django,安装完成后可直接使用django-admin命令。临时绕过限制(不推荐)
若必须在系统级安装,可添加参数强制绕过:pip3 install Django --break-system-packages,但此操作可能破坏Homebrew的Python环境,谨慎使用。
内容的提问来源于stack exchange,提问作者Bashaar Dhoot
相关产品推荐
相关产品推荐

