jdx/mise · error

no precompiled python found for

Error message

no precompiled python found for {tv} on {platform}

What it means

The core python plugin builds the install from precompiled python-build-standalone distributions; when the requested version has no matching entry in that catalog for the current platform, and compilation is disabled (or the platform is Windows), installation fails with this error. mise throws it because neither the precompiled catalog nor a source build can supply the requested python.

Solutions

  1. Enable source compilation: `mise settings set python.compile true`
  2. Choose a python version present in the python-build-standalone catalog (e.g. `mise use python@3.12.9`)
  3. Check python.precompiled_arch / python.precompiled_os settings are valid for your platform and not masking available builds

Example fix

// before
[python]
compile = false
mise use python@3.9.0 // not in catalog for this platform
// after
mise use python@3.12.9 // or remove compile=false to build from source
Defensive patterns

Strategy: validation

Validate before calling

// confirm the version exists in python-build-standalone releases before install
const tag = await (await fetch("https://api.github.com/repos/astral-sh/python-build-standalone/releases/latest")).json();
const ok = tag.assets.some(a => a.name.includes("x86_64-unknown-linux-gnu"));
if (!ok) throw new Error("no precompiled python for this platform; enable python.compile");

Try / catch

try {
  await $`mise install python@${ver}`;
} catch (e) {
  if (String(e).includes("no precompiled python found")) {
    await $`mise settings set python.compile true`;
    await $`mise install python@${ver}`;
  } else throw e;
}

Prevention

When it happens

Trigger: `mise install python@<version>` where fetch_precompiled_remote_versions contains no entry matching tv.version for python_precompiled_platform(), while on Windows or with `python.compile=false`.

Common situations: Installing an EOL or brand-new python version not yet in the python-build-standalone catalog; requesting a version that upstream never shipped precompiled for your arch (e.g. aarch64-windows); setting python.compile=false to avoid slow builds.

Understand the failure class

Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.

Related errors


AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17). Data as JSON: /api/errors/23d44248ff4d7872. Report an issue: GitHub.

Appendix: source

Thrown at src/plugins/core/python.rs:527

            let precompile_info = precompiled_versions
                .iter()
                .rev()
                .find(|(v, _, _)| &tv.version == v);
            let (tag, filename) = match precompile_info {
                Some((_, tag, filename)) => (tag, filename),
                None => {
                    if cfg!(windows)
                        || Settings::get().python_compile(CompilePurpose::Inspect) == Some(false)
                    {
                        if !cfg!(windows) {
                            hint!(
                                "python_compile",
                                "To compile python from source, run",
                                "mise settings python.compile=1"
                            );
                        }
                        let platform = python_precompiled_platform();
                        bail!("no precompiled python found for {tv} on {platform}");
                    }
                    let available = precompiled_versions.iter().map(|(v, _, _)| v).collect_vec();
                    if available.is_empty() {
                        debug!("no precompiled python found for {}", tv.version);
                    } else {
                        warn!(
                            "no precompiled python found for {}, force mise to use a precompiled version with `mise settings set python.compile=false`",
                            tv.version
                        );
                    }
                    trace!(
                        "available precompiled versions: {}",
                        available.into_iter().join(", ")
                    );
                    return self.install_compiled(ctx, tv).await;
                }
            };

View on GitHub (pinned to 533346cc37)