windmill-labs/windmill · error
Env installation did not succeed, check logs
Error message
Env installation did not succeed, check logs
What it means
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.
Source
Thrown at backend/windmill-worker/src/python_executor.rs:3272
// restart with half of concurrency
Box::pin(handle_python_reqs(
requirements,
job_id,
w_id,
mem_peak,
_canceled_by,
conn,
_worker_name,
job_dir,
&worker_dir,
_occupancy_metrics,
py_version,
Some(reduced_limit),
))
.await
} else {
Err(anyhow!("Env installation did not succeed, check logs").into())
}
} else {
Ok(req_paths)
};
}
/// Python function body for `res_to_json(res, typ)`.
/// Handles DataFrame, bytes, dict coercion + JSON serialization.
fn python_res_to_json_body(postprocessor: &str) -> String {
format!(
r#" if typ.__name__ == 'DataFrame':
if typ.__module__ == 'pandas.core.frame':
res = res.values.tolist()
elif typ.__module__ == 'polars.dataframe.frame':
res = res.rows()
elif typ.__name__ == 'bytes':
res = to_b_64(res)
elif typ.__name__ == 'dict':View on GitHub (pinned to e474e8803c)
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
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at backend/windmill-worker/src/python_executor.rs:3272 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/771e7d05c48c19df.
Report an issue: GitHub.