{"record":{"id":"4f9d54b092c5f045","repo":"PyO3/pyo3","slug":"no-interpreter-executable","errorCode":null,"errorMessage":"no interpreter executable","messagePattern":"no interpreter executable","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pyo3-build-config/src/impl_.rs","lineNumber":883,"sourceCode":"        write_option_line!(pointer_width)?;\n        write_line!(build_flags)?;\n        write_option_line!(python_framework_prefix)?;\n        write_line!(suppress_build_script_link_lines)?;\n        for line in &self.extra_build_script_lines {\n            writeln!(writer, \"extra_build_script_line={line}\")\n                .context(\"failed to write extra_build_script_line\")?;\n        }\n        Ok(())\n    }\n\n    /// Run a python script using the [`InterpreterConfig::executable`].\n    ///\n    /// # Panics\n    ///\n    /// This function will panic if the [`executable`](InterpreterConfig::executable) is `None`.\n    pub fn run_python_script(&self, script: &str) -> Result<String> {\n        run_python_script_with_envs(\n            Path::new(self.executable.as_ref().expect(\"no interpreter executable\")),\n            script,\n            std::iter::empty::<(&str, &str)>(),\n        )\n    }\n\n    /// Run a python script using the [`InterpreterConfig::executable`] with additional\n    /// environment variables (e.g. PYTHONPATH) set.\n    ///\n    /// # Panics\n    ///\n    /// This function will panic if the [`executable`](InterpreterConfig::executable) is `None`.\n    pub fn run_python_script_with_envs<I, K, V>(&self, script: &str, envs: I) -> Result<String>\n    where\n        I: IntoIterator<Item = (K, V)>,\n        K: AsRef<OsStr>,\n        V: AsRef<OsStr>,\n    {\n        run_python_script_with_envs(","sourceCodeStart":865,"sourceCodeEnd":901,"githubUrl":"https://github.com/PyO3/pyo3/blob/ac9b6899d348be4d54614d060dea53a645a12e36/pyo3-build-config/src/impl_.rs#L865-L901","documentation":"Panic in run_python_script: the code path needs to execute a Python script to probe the interpreter, but InterpreterConfig::executable is None — no interpreter path was recorded (typical when the config was built purely from sysconfigdata or a cached file). Probing is impossible, so the helper panics instead of returning a Result for this precondition.","triggerScenarios":"Thrown at pyo3-build-config/src/impl_.rs:883 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set PYO3_PYTHON (or ensure the interpreter can be auto-detected) so an executable is stored in the config","When cross-compiling, provide complete sysconfigdata so no interpreter needs to be run","Delete a stale pyo3-build-config-file that lacks the executable field so detection reruns"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ac9b6899d348be4d54614d060dea53a645a12e36","analyzedAt":"2026-09-05T09:20:35.319Z","contentChangedAt":"2026-09-05T09:20:35.319Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}