-
Notifications
You must be signed in to change notification settings - Fork 181
Description
What did you expect to happen?
Pip3 step should be skipped on systems where python packages are managed by the distribution.
See: PEP 668 - Marking Python base environments as “externally managed”
What actually happened?
Pip3 attempts to upgrade and fails due to being externally managed.
Additional Details
- Which operating system or Linux distribution are you using?
- Debian Bookworm
- How did you install Topgrade?
- Cargo
- Which version are you running?
- Topgrade 10.3.1 (running from commit 2369e37)
── 02:12:54 - pip3 ─────────────────────────── DEBUG Executing command `/usr/bin/python3 -m pip install --upgrade --user pip` 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.
DEBUG Command failed: Err(
0: Command failed:/usr/bin/python3 -m pip install --upgrade --user pip
1:/usr/bin/python3
failed: exit status: 1Location:
src/steps/generic.rs:345