Add arguments for controlling pip install behavior.

Review Request #14539 — Created July 30, 2025 and submitted

Information

virtualenv-multiver
master

Reviewers

In a default setup, virtualenv-multiver no longer works correctly on
versions of Python prior to 3.8. The reason is that a modern
virtualenv will install the pip for the version of Python associated
with the virtualenv command, and that's too new these days for older
environments. So we need to explicitly download an appropriate version,
or not install one at all.

It's important that we give some control over this behavior, so we now
take arguments for controlling whether downloads occur and whether
pip, setuptools, and wheel get installed.

Along with this, we have options for --quiet/--verbose, --help,
and --version.

While here, some legacy unneeded code has been removed, to keep this a
bit more maintainable.

Made some virtualenvs using this, verifying it downloaded appropriate
versions of the packages for each version of Python.

Tested all the options to make sure they did what they were supposed
to.

Summary ID
Add arguments for controlling pip install behavior.
In a default setup, virtualenv-multiver no longer works correctly on versions of Python prior to 3.8. The reason is that a modern `virtualenv` will install the `pip` for the version of Python associated with the `virtualenv` command, and that's too new these days for older environments. So we need to explicitly download an appropriate version, or not install one at all. It's important that we give some control over this behavior, so we now take arguments for controlling whether downloads occur and whether `pip`, `setuptools`, and `wheel` get installed. Along with this, we have options for `--quiet`/`--verbose`, `--help`, and `--version`. While here, some legacy unneeded code has been removed, to keep this a bit more maintainable.
6f9980322cd7fee72385eed06d0bb3e15a0f12c3
Description From Last Updated

Since you're touching this, mind turning this into a docstring?

daviddavid
david
  1. 
      
  2. virtualenv_multiver/main.py (Diff revision 1)
     
     
     
     
     
     
     
     
     
     
    Show all issues

    Since you're touching this, mind turning this into a docstring?

  3. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (8874d8e)