{"record":{"id":"ee5bf247fb2abdb8","repo":"astral-sh/uv","slug":"base-environment-has-no-site-packages-directory","errorCode":null,"errorMessage":"Base environment has no site packages directory","messagePattern":"Base environment has no site packages directory","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/uv/src/commands/project/run.rs","lineNumber":1086,"sourceCode":"    // `--with` requirements environment and the project environment site packages.\n    //\n    // Setting `PYTHONPATH` is insufficient, as it doesn't resolve `.pth` files in the base\n    // environment. Adding `sitecustomize.py` would be an alternative, but it can be shadowed by an\n    // existing such module in the python installation.\n    if let Some(ephemeral_env) = ephemeral_env.as_ref() {\n        if let Some(requirements_env) = requirements_env.as_ref() {\n            let requirements_site_packages =\n                requirements_env.site_packages().next().ok_or_else(|| {\n                    anyhow!(\"Requirements environment has no site packages directory\")\n                })?;\n            let mut base_site_packages = base_interpreter\n                .runtime_site_packages()\n                .iter()\n                .map(|path| Cow::Borrowed(path.as_path()))\n                .chain(base_interpreter.site_packages())\n                .peekable();\n            if base_site_packages.peek().is_none() {\n                return Err(anyhow!(\"Base environment has no site packages directory\"));\n            }\n\n            let overlay_content = format!(\n                \"import site; {}\",\n                std::iter::once(requirements_site_packages)\n                    .chain(base_site_packages)\n                    .dedup()\n                    .inspect(|path| debug!(\"Adding `{}` to site packages\", path.display()))\n                    .map(|path| format!(\"site.addsitedir({})\", path.escape_for_python()))\n                    .collect::<Vec<_>>()\n                    .join(\"; \")\n            );\n\n            ephemeral_env.set_overlay(overlay_content)?;\n\n            // N.B. The order here matters — earlier interpreters take precedence over the\n            // later ones.\n            for interpreter in [requirements_env.interpreter(), &base_interpreter] {","sourceCodeStart":1068,"sourceCodeEnd":1104,"githubUrl":"https://github.com/astral-sh/uv/blob/f1a42680ff5272232d65748acf338b19778dde24/crates/uv/src/commands/project/run.rs#L1068-L1104","documentation":"Error \"Base environment has no site packages directory\" thrown in astral-sh/uv.","triggerScenarios":"Thrown at crates/uv/src/commands/project/run.rs:1086 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f1a42680ff5272232d65748acf338b19778dde24","analyzedAt":"2026-08-16T04:51:47.599Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}