Sujet : Re: Terminal Emulator (Posting On Python-List Prohibited)
De : hjp-python (at) *nospam* hjp.at (Peter J. Holzer)
Groupes : comp.lang.pythonDate : 20. May 2024, 11:58:59
Autres entêtes
Message-ID : <mailman.40.1716199148.2909.python-list@python.org>
References : 1 2 3 4 5
Pièces jointes : signature.asc (application/pgp-signature) On 2024-05-20 00:26:03 +0200, Roel Schroeven via Python-list wrote:
Skip Montanaro via Python-list schreef op 20/05/2024 om 0:08:
Modern debian (ubuntu) and fedora block users installing using pip.
Even if you're telling it to install in ~/.local? I could see not allowing
to run it as root.
I assumed pip install --user would work, but no. I tried it (on Debian 12
(bookworm)):
$ pip install --user docopt
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.11/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.
Exactly the same output for sudo pip install.
This message (quoted in all its glory) is too long to be useful. The
important bit is at the end:
You can override this, at the risk of breaking your Python
installation or OS, by passing --break-system-packages.
(I admit I didn't see this the first time I got this message)
python3 -m pip install --user --break-system-packages <packagename>
does indeed install into ~/.local/lib/python3.XX/site-packages.
This inconvenient, but otoh I have accidentally installed packages into
~/.local in the past, so maybe it's good to make that more explicit.
hp
-- _ | Peter J. Holzer | Story must make more sense than reality.|_|_) | || | | hjp@hjp.at | -- Charles Stross, "Creative writing__/ | http://www.hjp.at/ | challenge!"