windmill-labs/windmill · error

× No solution found when resolving python: ╰─▶ Because

Error message

  × No solution found when resolving python:
  ╰─▶ Because you require python {}, we can conclude that your requirements are unsatisfiable.

  All versions: 
{}

What it means

Error " × No solution found when resolving python: ╰─▶ Because you require python {}, we can conclude that your requirements are unsatisfiable. All versions: {} " thrown in windmill-labs/windmill.

Source

Thrown at backend/windmill-worker/src/python_versions.rs:214

            }

            let [gravity_major, gravity_minor, ..] = gv.release() else {
                return Err(Error::internal_err(format!("Cannot get MAJOR nor MINOR version of python gravity version ({}). Something might be wrong with INSTANCE_PYTHON_VERSION.", &*gv)));
            };

            if (*gravity_major, *gravity_minor) != newest_in_minor.1 {
                // Return full version only if there is PATCH versions in version specifiers
                if patch_vs {
                    return Ok(newest_in_minor.0);
                } else {
                    let mm = newest_in_minor.1;
                    return Ok(PyV(pep440_rs::Version::new([mm.0, mm.1])));
                }
            }

            Ok(result)
        } else {
            Err(anyhow!(
                "
  × No solution found when resolving python:
  ╰─▶ Because you require python {}, we can conclude that your requirements are unsatisfiable.

  All versions: \n{}
                \n",
                version_specifiers.iter().map(|s| s.to_string()).join(", "),
                all_versions
                    .iter()
                    .enumerate()
                    .map(|(i, v)| format!(
                        "{}{}",
                        windmill_common::worker::pad_string(&v.0.to_string(), 11),
                        if (i + 1) % 5 == 0 { "\n" } else { "" }
                    ))
                    .collect::<String>()
            )
            .into())

View on GitHub (pinned to e474e8803c)

Solutions

  1. Relax the python version requirement in the script's metadata to a version the instance provides
  2. Check INSTANCE_PYTHON_VERSION and the available interpreter versions listed in the error
  3. Pin at most a major.minor, or use one of the listed available versions instead of an exact patch
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at backend/windmill-worker/src/python_versions.rs:214 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/87fea24cd25928d7. Report an issue: GitHub.