set UV_PYTHON_DOWNLOADS=auto when doing uv sync (#4191)

* set UV_PYTHON_DOWNLOADS=auto when doing `uv sync`

* Clear env vars prior to invoking uv, and add --no-config

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
This commit is contained in:
Kevin Nakamura 2025-07-09 10:57:37 +00:00 committed by GitHub
parent 1f7f7bc8a3
commit dfbb7302e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 19 deletions

View file

@ -34,8 +34,9 @@ pub fn setup_pyenv(args: PyenvArgs) {
run_command(
Command::new(args.uv_bin)
.env_clear()
.env("UV_PROJECT_ENVIRONMENT", args.pyenv_folder.clone())
.args(["sync", "--locked"])
.args(["sync", "--locked", "--no-config"])
.args(args.extra_args),
);

View file

@ -255,29 +255,14 @@ fn handle_version_install_or_update(state: &State, choice: MainMenuChoice) -> Re
None
};
// `uv sync` sometimes does not pull in Python automatically
// This might be system/platform specific and/or a uv bug.
// Prepare to sync the venv
let mut command = Command::new(&state.uv_path);
command
.current_dir(&state.uv_install_root)
.env_clear()
.env("UV_CACHE_DIR", &state.uv_cache_dir)
.env("UV_PYTHON_INSTALL_DIR", &state.uv_python_install_dir)
.args(["python", "install", "--managed-python"]);
// Add python version if .python-version file exists
if let Some(version) = &python_version_trimmed {
command.args([version]);
}
command.ensure_success().context("Python install failed")?;
// Sync the venv
let mut command = Command::new(&state.uv_path);
command
.current_dir(&state.uv_install_root)
.env("UV_CACHE_DIR", &state.uv_cache_dir)
.env("UV_PYTHON_INSTALL_DIR", &state.uv_python_install_dir)
.args(["sync", "--upgrade", "--managed-python"]);
.args(["sync", "--upgrade", "--managed-python", "--no-config"]);
// Add python version if .python-version file exists
if let Some(version) = &python_version_trimmed {