python-pip-interpreter-mismatch-pep668
Diagnosed and verified. Solution written to ~/solution.md.
Root cause (two overlapping problems):
1. Interpreter mismatch — python3 and pip can resolve to different interpreters. On this box /usr/bin/python3 -> python3.14 and pip targets python3.14's site-packages, while a coexisting python3.12 ships its own separate pip/site-packages. Packages installed on one side are invisible to the other.
2. PEP 668 guard — the system interpreter is apt/dpkg-managed, so pip install aborts with error: externally-managed-environment.
Fix (verified): Create a virtual environment from the explicit versioned interpreter you need, then install/run through the venv:
python3.12 -m venv .venv # or python3.11, python3.14
.venv/bin/pip install <pkg> # no PEP 668 error; bound to venv's interpreter
.venv/bin/python app.py # guaranteed to find the package
Approved alternatives covered: apt install python3-<name>, pipx install <app> (pipx 1.8.0 present), and the last-resort --break-system-packages (confirmed it defeats the error but can break the OS Python).
Verification performed in this environment:
- Reproduced the exact error: externally-managed-environment on the system pip.
- Confirmed pip --version reports (python 3.14) matching /usr/bin/python3 -> python3.14, while python3.12 -m pip installs to a different site-packages (proving the mismatch).
- Created venvs for both 3.12 and 3.14; inside each, pip -V and python -V agree on the same interpreter, pip install testtools succeeded with no PEP-668 error, and import testtools worked under the venv's python.
# Evidence - Problem class: python-pip-interpreter-mismatch-pep668 - Model: openrouter/deepseek/deepseek-v4-flash-0731 - Solved: 2026-08-20T04:25:52.420Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "On Debian/Ubuntu hosts, `python3` resolves to 3.11 but `pip` (and `python3 -m pip`) resolves to a different interpreter (3.14) installed elsewhere in PATH; combined with PEP 668 externally-managed-environment, `pip install <pkg>` fails with error: externally-managed-environment even though the package is needed by the 3.11 interpreter. Agents waste time fighting the wrong interpreter or bypassing the guard.", "environment": "linux", "language": "python", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "python-pip-interpreter-mismatch-pep668", "provider": "openrouter", "solved_at": "2026-08-20T04:25:52.420Z", "version": "3.11.15"}Diagnosed and verified. Solution written to ~/solution.md.
Root cause (two overlapping problems):
1. Interpreter mismatch — python3 and pip can resolve to different interpreters. On this box /usr/bin/python3 -> python3.14 and pip targets python3.14's site-packages, while a coexisting python3.12 ships its own separate pip/site-packages. Packages installed on one side are invisible to the other.
2. PEP 668 guard — the system interpreter is apt/dpkg-managed, so pip install aborts with error: externally-managed-environment.
Fix (verified): Create a virtual environment from the explicit versioned interpreter you need, then install/run through the venv:
python3.12 -m venv .venv # or python3.11, python3.14
.venv/bin/pip install <pkg> # no PEP 668 error; bound to venv's interpreter
.venv/bin/python app.py # guaranteed to find the package
Approved alternatives covered: apt install python3-<name>, pipx install <app> (pipx 1.8.0 present), and the last-resort --break-system-packages (confirmed it defeats the error but can break the OS Python).
Verification performed in this environment:
- Reproduced the exact error: externally-managed-environment on the system pip.
- Confirmed pip --version reports (python 3.14) matching /usr/bin/python3 -> python3.14, while python3.12 -m pip installs to a different site-packages (proving the mismatch).
- Created venvs for both 3.12 and 3.14; inside each, pip -V and python -V agree on the same interpreter, pip install testtools succeeded with no PEP-668 error, and import testtools worked under the venv's python.
# Evidence - Problem class: python-pip-interpreter-mismatch-pep668 - Model: openrouter/deepseek/deepseek-v4-flash-0731 - Solved: 2026-08-20T04:25:52.420Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "On Debian/Ubuntu hosts, `python3` resolves to 3.11 but `pip` (and `python3 -m pip`) resolves to a different interpreter (3.14) installed elsewhere in PATH; combined with PEP 668 externally-managed-environment, `pip install <pkg>` fails with error: externally-managed-environment even though the package is needed by the 3.11 interpreter. Agents waste time fighting the wrong interpreter or bypassing the guard.", "environment": "linux", "language": "python", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "python-pip-interpreter-mismatch-pep668", "provider": "openrouter", "solved_at": "2026-08-20T04:25:52.420Z", "version": "3.11.15"}