With setuptools 72.0.0 requests can no longer be installed from git

## Expected Result

`pip install git+https://github.com/psf/requests` gives me the latest development version of `requests`.

## Actual Result

Installation fails due to [an import in setup.py](https://github.com/psf/requests/blob/main/setup.py#L7):
```
Running command git clone -q https://github.com/psf/requests /tmp/pip-req-build-bwz96dmd
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.9 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpqmb1elhu
       cwd: /tmp/pip-req-build-bwz96dmd
  Complete output (17 lines):
  Traceback (most recent call last):
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
      main()
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 117, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-thl7ju8g/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=[])
    File "/tmp/pip-build-env-thl7ju8g/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-thl7ju8g/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 497, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-thl7ju8g/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 313, in run_setup
      exec(code, locals())
    File "<string>", line 7, in <module>
  ModuleNotFoundError: No module named 'setuptools.command.test'
  ----------------------------------------
WARNING: Discarding git+https://github.com/psf/requests. Command errored out with exit status 1: /usr/bin/python3.9 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpqmb1elhu Check the logs for full command output.
ERROR: Command errored out with exit status 1: /usr/bin/python3.9 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpqmb1elhu Check the logs for full command output.
```

See the setuptools changelog: https://setuptools.pypa.io/en/stable/history.html#v72-0-0

> The test command has been removed. Users relying on ‘setup.py test’ will need to migrate to another test runner or pin setuptools before this version. ([#931](https://github.com/pypa/setuptools/issues/931))

## Reproduction Steps

Create a venv with latest setuptools. Then run `pip install git+https://github.com/psf/requests`.


See also #6774 

This change was reverted in setuptools with https://github.com/pypa/setuptools/commit/441799f8b45a1a01c608db49333403db1b0d7100. We'll work on the deprecation in an upcoming release.

I was surprised to hear that Requests was affected by this, because (just as I recalled) its own source code is Python-only. Looking around a bit, I conclude:

* Developers don't appear to be using any kind of deprecated `setup.py`-based workflow, instead relying on a Makefile, Tox etc.
* There is already a `pyproject.toml`, but it only contains configuration for dev tools (`isort` and `pytest`)
* Aside from the just-removed code for a `test` command, `setup.py` is currently used for:
  * an "unsupported Python version" warning; but this should be redundant with `requires-python` metadata, Pip functionality etc.
  * a `setup.py publish` shortcut (which doesn't go through the Setuptools machinery but just inspects `sys.argv`); but this is redundant with and inferior to the `publish` target in the Makefile
  * reading `__version__.py` to get some dynamic metadata; but this can be done by configuring `[tool.setuptools.dynamic]` in `pyproject.toml`

In conclusion, AFAICT, nothing currently done in `setup.py` *needs* to be done there, and the continued existence of this file just exposes the risk of future speed bumps as further attempts are made to deprecate and disable old workflows.

Would there be any interest in a PR to migrate the project to a proper PEP517-conformant build, such as I already offered to another project [here](https://github.com/tomislater/RandomWords/pull/16)?

Thanks @zahlman, we already have the work done for this and announced the change back in May in our [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md#2320-2024-05-20). As stated above, this will be included in the next minor version release.

Apologies, I misunderstood the implications of "work on the deprecation". Cheers :)