当你使用MacOS 通过brew 安装了python,并且是python3.12。
当你想使用pip3 安装第三方库时,你遇到了以下报错:
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.
Read more about this behavior here: <https://peps.python.org/pep-0668/>
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.
解决方法
你可以像这里描述的那样使用Python的venv。
但是,如果你确实需要继续使用
pip3 install xyz
这种方法来安装第三方库,那么有两个解决方案:
- use pip’s argument
--break-system-packages
, - 在
~/.config/pip/pip.conf
添加上这一行:
[global]
break-system-packages =true
版权归原作者 风沙吹奏 所有, 如有侵权,请联系我们删除。