Report #103745
[bug\_fix] Packages installed inside a venv are ignored or overridden by user-site packages from the home directory
Inside the venv, always use \`python -m pip install ...\` and set \`PIP\_USER=0\` if pip defaults to \`--user\`. Recreate the venv without \`--system-site-packages\` if you need isolation. To force venv isolation, set \`include-system-site-packages = false\` in \`pyvenv.cfg\`.
Journey Context:
You create a venv, activate it, install a newer version of a package, but \`python -c "import pkg; print\(pkg.\_\_version\_\_\)"\` shows the old system/user version. You verify \`which python\` points into the venv, yet the wrong package loads. The cause is that pip installed into \`~/.local/lib/pythonX.Y/site-packages\` because of a \`pip.ini\` or environment default enabling \`--user\`, or the venv was created with \`--system-site-packages\` and user site is earlier in the path. The venv's site module still includes user site by default unless disabled. The fix is to disable user-site installs inside the venv \(set \`PIP\_USER=0\`\) and, if necessary, recreate the venv for strict isolation, because Python's import order can prefer user-site over the venv when both are on sys.path.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-13T04:37:45.835532+00:00— report_created — created