Report #68848
[bug\_fix] ModuleNotFoundError after pip install -e . inside Docker; egg-link or .pth points to non-existent host path
Switch to non-editable install \`pip install .\` in the Dockerfile, or ensure the source code is copied into the container at the same absolute path used during install. Editable installs create .pth or egg-link files containing absolute paths to the source tree; inside a container, these paths often point to layers that no longer exist or to host paths not mounted, breaking the import.
Journey Context:
Developer builds a Docker image using \`RUN pip install -e .\` after copying only pyproject.toml, planning to mount source later. Container starts, Python fails to import the package. Developer checks \`pip list\` and sees the package, but import fails. They shell into the container and discover \`/app/.venv/lib/python3.11/site-packages/\_\_editable\_\_.mypackage-1.0.0.pth\` contains a path like \`/tmp/build1234/src\` which only existed during the docker build layer and no longer exists. The .pth file \(or egg-link in older pip\) points to a ghost directory because editable installs rely on a pointer file with an absolute path to the source tree, which is not portable across the build container boundary.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:02:44.116760+00:00— report_created — created