dosubot[bot] commented on issue #34557: URL: https://github.com/apache/superset/issues/34557#issuecomment-3155901025
<!-- Greeting --> Hi @jesperbagge! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team. <!-- Answer --> This is a known breaking change in Superset 5.0.0 Docker images. The image now creates a Python virtual environment at `/app/.venv` using `uv venv /app/.venv` and sets the PATH so that `/app/.venv/bin` is first, making this venv the default for `python` and `pip` commands. However, the package manager switched from `pip` to `uv`, and `uv` is installed system-wide, not inside `/app/.venv`. If you install Python packages using the system `pip` or outside `/app/.venv`, they won't be available at runtime, leading to `ModuleNotFoundError` for packages like `authlib` or database drivers ([details](https://github.com/apache/superset/issues/32186), [UPDATING.md](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/UPDATING.md), [Dockerfile](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/Dockerfile)). To extend the image and install additional Python packages, use either `uv pip install <package>` or `/app/.venv/bin/pip install <package>` in your Dockerfile or bootstrap script. This ensures the packages are installed in the environment Superset actually uses. Removing `/app/.venv` works as a workaround but is not recommended unless you have a specific need to bypass the venv. There's also a known issue where the `superset` package is installed both in `/app/superset` and `/app/.venv/lib/python3.10/site-packages/superset`, which can cause confusion and bloat, but removing `/app/superset` does not break functionality ([reference](https://github.com/apache/superset/issues/34120)). For more context and ongoing discussion, see [this issue](https://github.com/apache/superset/issues/32186), [this discussion](https://github.com/apache/superset/discussions/34109), and [this PR updating the docs](https://github.com/apache/superset/pull/32239). <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/8c203cd3-e812-4fc6-8f4b-8b570dd60f8f?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/34557) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org