mkdir -p ~/.config/pip
vim ~/.config/pip/pip.conf(Precise location may vary depending on operating system.)
Add the following lines:
[global]
break-system-packages = true
user = trueNOTE: The break-system-packages is scary but necessary for it to take the user flag.
Be careful. Don't use sudo pip.
Congrats, no more having to deal with this message, system package limits, or obligatory virtual environments:
$ pip install argcomplete
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
python-xyz', where xyz is the package you are trying to
install.
If you wish to install a non-Arch-packaged Python package,
create a virtual environment using 'python -m venv path/to/venv'.
Then use path/to/venv/bin/python and path/to/venv/bin/pip.
If you wish to install a non-Arch packaged Python application,
it may be easiest to use 'pipx install xyz', which will manage a
virtual environment for you. Make sure you have python-pipx
installed via pacman.
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.