How to Fix Error: Externally-Managed-Environment in Pip

Error: externally-managed-environment occurs when a package manager is managing a Python environment, preventing the use of pip. Here’s how to solve it.

Written by Luca Liu
Published on Sep. 04, 2024
Two developers looking over a python error on a laptop
Image: Shutterstock / Built In
Brand Studio Logo

When you use pip to install Python packages, you may encounter an ‘externally-managed-environment’ error. This error occurs because your Python environment is “externally managed” by a package manager, which prevents direct use of pip for system-wide installations to avoid conflicts or issues.

Error: Externally-Managed-Environment Solved

Error: externally-managed-environment occurs when a package manager is managing a Python environment, which prevents direct use of pip. It can be solved using a virtual environment:

python3 -m venv ~/py_envs
source ~/py_envs/bin/activate
python3 -m pip install xyz

I encountered this issue when I upgraded my Python version from 3.10 to 3.12.

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
    ...

More on PythonStop Using Pip Freeze for Your Python Projects

 

2 Ways to Solve Error: Externally-Managed-Environment 

1. Use a Virtual Environment

One way to solve error: externally-managed-environment is to create a virtual environment folder in your root path. By creating and using a virtual environment, you bypass the system Python entirely, allowing you to install and manage packages freely without impacting the system-wide Python installation.

python3 -m venv ~/py_envs
source ~/py_envs/bin/activate
python3 -m pip install xyz
A tutorial on how to solve error: externally-managed-environment in pip. | Video: Extronemer

More on PythonHow to Fix TypeError: ‘Str’ Object Is Not Callable in Python

2. Force Install

The second option is to do a force install. Using --break-system-packages bypasses this protection, allowing you to install the package directly into the system-wide Python environment.

To do so, add --break-system-packages at the end of pip, for example:

pip install xyz --break-system-packages.

Frequently Asked Questions

The error: externally-managed environment is thrown in Python when a package manager is managing a Python environment, preventing pip from conducting system-wide installations or use.

The externally managed environment error in pip can be solved two ways. The first option is to use a virtual environment:

python3 -m venv ~/py_envs
source ~/py_envs/bin/activate
python3 -m pip install xyz

The second option is to force install using break-system-packages:

pip install xyz --break-system-packages.
Explore Job Matches.