home | list info | list archive | date index | thread index

Re: How nervous should I be using "pip3 install --break-system-packages ..."?

  • Subject: Re: How nervous should I be using "pip3 install --break-system-packages ..."?
  • From: Rick Leir <rleir [ at ] leirtech [ dot ] com>
  • Date: Wed, 19 Aug 2026 17:59:52 +0000
The version of python used in the host system (Debian or Ubuntu or Redhat) is conservative and doesn't use the latest versions of packages.

The python version you as a user want is the latest stable one.  The message you were reading is trying to suggest that, and tell you how to install that newer python version in a way that doesn't interfere with the conservative system python.

It's quite normal to use python virtual environments.  Follow the instructions in that message, and make sure that your PATH includes path/to/venv/bin/  so that you are using the newer python and pip when you install sphinx and other new packages.

You would not be happy with 'break-system-packages' !

Richard Leir
Happy Canoeing and Hiking and Biking!

Sent from Proton Mail for Android.

-------- Original Message --------
On Wednesday, 08/19/26 at 10:05 Robert P. J. Day via linux <linux [ at ] linux-ottawa [ dot ] org> wrote:

  In order to build a Sphinx-based docs repo, I need to install the
Sphinx theme used by that repo, "piccolo-theme". When given a choice,
since I use Debian 13 these days, I prefer to install Debian .deb
packages, as in:

  $ sudo apt install python3-piccolo-theme

Occasionally, if there is no appropriate .deb package, I'll revert to
using "pip3", but when doing that for this theme, I get:

$ pip3 install piccolo-theme
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.13/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 don't want to start a virtual environment just for this, and it
appears that the only option is (as the error messages suggests)
install with "--break-system-packages".

  I'm really uncomfortable adding an option that promises to "break"
stuff ... is that really the right way to go?

rday

To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
To visit the archives: https://lists.linux-ottawa.org