Report #16656
[bug\_fix] ModuleNotFoundError: No module named 'requests' despite pip list showing it installed
Activate the virtual environment explicitly before running Python, or invoke the Python binary inside the venv \(e.g., \`./venv/bin/python script.py\`\) rather than the system \`python3\`.
Journey Context:
Developer creates a venv with \`python3 -m venv venv\`, activates it in Terminal Tab 1, and runs \`pip install requests\`. They open a new Terminal Tab 2, forget to activate the venv, and run \`python3 script.py\`. The script fails with ModuleNotFoundError. The developer runs \`pip list\` in Tab 2 and sees \`requests\` is missing, creating confusion. They eventually check \`which python3\` \(shows \`/usr/bin/python3\`\) versus \`which python\` inside the activated venv \(shows \`/path/to/venv/bin/python\`\). The root cause is that the venv's \`site-packages\` is not on \`sys.path\` for the system interpreter. Recreating the venv is unnecessary; simply using the venv's Python binary or activating the environment fixes the path resolution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:15:50.042631+00:00— report_created — created