marty@Marty-PC:~/git/exllama$ pip install numpy
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.12/README.venv for more information.
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.
I get this error every time I try install any kind of python package. So far, I always just used the --break-system-packages
flag, but that seems, well, rather unsafe and breaking
.
To this day, I see newly written guides, specifically for Linux, which don’t point out this behaviour. They just say [...] And then install this python package with 'pip install numpy'
Is this something specific to my system, or is this a global thing?
It’s mostly Debian-focused, but you should probably use venvs. They allow you to have different versions of Python packages for different applications. I especially like it when using it in combination with pythonz for applications that require a different version than the system Python.
I find they prevent the system Python from being a complete pile of anarchy.
Like others have said, the error tells you everything you need to know.