> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifr.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# SIFR-PYENV-0002: Package graph selects more than one Python virtual environment.

> Package graph selects more than one Python virtual environment.

`SIFR-PYENV-0002` belongs to the **Embedded CPython environment** diagnostic family. It means: package graph selects more than one Python virtual environment.

## Why It Happens

The selected Python environment is missing, malformed, ambiguous, or fails probe/ABI checks. Configure exactly one root-application uv environment and ensure the interpreter, site-packages, and declared imports are available.

<Info>
  Use `sifr --explain SIFR-PYENV-0002` locally to see the renderer's exact message template and any machine-applicable suggestions for the compiler version you are running.
</Info>

## Details

| Field                  | Value                                                                                               |
| ---------------------- | --------------------------------------------------------------------------------------------------- |
| Code                   | `SIFR-PYENV-0002`                                                                                   |
| Family                 | `PYENV`                                                                                             |
| Severity               | Error                                                                                               |
| Stability              | stable                                                                                              |
| Owner                  | `sifr_package::python`                                                                              |
| Representative fixture | `crates/sifr_package/src/python/tests.rs::multiple_python_environment_selections_report_pyenv_0002` |

See the [Error Codes index](/diagnostics/error-codes) for the complete catalog.
