{"record":{"id":"771e7d05c48c19df","repo":"windmill-labs/windmill","slug":"env-installation-did-not-succeed-check-logs","errorCode":null,"errorMessage":"Env installation did not succeed, check logs","messagePattern":"Env installation did not succeed, check logs","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"backend/windmill-worker/src/python_executor.rs","lineNumber":3272,"sourceCode":"\n            // restart with half of concurrency\n            Box::pin(handle_python_reqs(\n                requirements,\n                job_id,\n                w_id,\n                mem_peak,\n                _canceled_by,\n                conn,\n                _worker_name,\n                job_dir,\n                &worker_dir,\n                _occupancy_metrics,\n                py_version,\n                Some(reduced_limit),\n            ))\n            .await\n        } else {\n            Err(anyhow!(\"Env installation did not succeed, check logs\").into())\n        }\n    } else {\n        Ok(req_paths)\n    };\n}\n\n/// Python function body for `res_to_json(res, typ)`.\n/// Handles DataFrame, bytes, dict coercion + JSON serialization.\nfn python_res_to_json_body(postprocessor: &str) -> String {\n    format!(\n        r#\"    if typ.__name__ == 'DataFrame':\n        if typ.__module__ == 'pandas.core.frame':\n            res = res.values.tolist()\n        elif typ.__module__ == 'polars.dataframe.frame':\n            res = res.rows()\n    elif typ.__name__ == 'bytes':\n        res = to_b_64(res)\n    elif typ.__name__ == 'dict':","sourceCodeStart":3254,"sourceCodeEnd":3290,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/backend/windmill-worker/src/python_executor.rs#L3254-L3290","documentation":"Raised by handle_python_reqs after a reduced-concurrency retry also fails: the venv could not be created or populated even at half the parallelism, so the requirements cannot be satisfied on this worker. The specific cause (network, disk, bad requirement) was only written to the job/worker logs during install, hence the generic message.","triggerScenarios":"Thrown at backend/windmill-worker/src/python_executor.rs:3272 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the job logs above this error for the underlying uv/pip failure","Retry later if the cause was transient resource contention","Fix the requirement spec (unavailable version, incompatible wheel) if the failure is deterministic"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}