{"record":{"id":"23d44248ff4d7872","repo":"jdx/mise","slug":"no-precompiled-python-found-for-tv-on-platform","errorCode":null,"errorMessage":"no precompiled python found for {tv} on {platform}","messagePattern":"no precompiled python found for (.+?) on (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/python.rs","lineNumber":527,"sourceCode":"            let precompile_info = precompiled_versions\n                .iter()\n                .rev()\n                .find(|(v, _, _)| &tv.version == v);\n            let (tag, filename) = match precompile_info {\n                Some((_, tag, filename)) => (tag, filename),\n                None => {\n                    if cfg!(windows)\n                        || Settings::get().python_compile(CompilePurpose::Inspect) == Some(false)\n                    {\n                        if !cfg!(windows) {\n                            hint!(\n                                \"python_compile\",\n                                \"To compile python from source, run\",\n                                \"mise settings python.compile=1\"\n                            );\n                        }\n                        let platform = python_precompiled_platform();\n                        bail!(\"no precompiled python found for {tv} on {platform}\");\n                    }\n                    let available = precompiled_versions.iter().map(|(v, _, _)| v).collect_vec();\n                    if available.is_empty() {\n                        debug!(\"no precompiled python found for {}\", tv.version);\n                    } else {\n                        warn!(\n                            \"no precompiled python found for {}, force mise to use a precompiled version with `mise settings set python.compile=false`\",\n                            tv.version\n                        );\n                    }\n                    trace!(\n                        \"available precompiled versions: {}\",\n                        available.into_iter().join(\", \")\n                    );\n                    return self.install_compiled(ctx, tv).await;\n                }\n            };\n","sourceCodeStart":509,"sourceCodeEnd":545,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/plugins/core/python.rs#L509-L545","documentation":"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.","triggerScenarios":"`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`.","commonSituations":"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.","solutions":["Enable source compilation: `mise settings set python.compile true`","Choose a python version present in the python-build-standalone catalog (e.g. `mise use python@3.12.9`)","Check python.precompiled_arch / python.precompiled_os settings are valid for your platform and not masking available builds"],"exampleFix":"// before\n[python]\ncompile = false\nmise use python@3.9.0 // not in catalog for this platform\n// after\nmise use python@3.12.9 // or remove compile=false to build from source","handlingStrategy":"validation","validationCode":"// confirm the version exists in python-build-standalone releases before install\nconst tag = await (await fetch(\"https://api.github.com/repos/astral-sh/python-build-standalone/releases/latest\")).json();\nconst ok = tag.assets.some(a => a.name.includes(\"x86_64-unknown-linux-gnu\"));\nif (!ok) throw new Error(\"no precompiled python for this platform; enable python.compile\");","typeGuard":null,"tryCatchPattern":"try {\n  await $`mise install python@${ver}`;\n} catch (e) {\n  if (String(e).includes(\"no precompiled python found\")) {\n    await $`mise settings set python.compile true`;\n    await $`mise install python@${ver}`;\n  } else throw e;\n}","preventionTips":["Keep python.compile unset so mise silently falls back to source builds","Check the python-build-standalone release catalog before pinning unusual python versions","Validate python.precompiled_arch/os settings before cross-platform installs"],"tags":["python","install","precompiled"],"backgroundTag":"resource-not-found","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}