Repository: pypa/pip

Issue:
Confusing message when the wheel package is not installed
**Environment**

* pip version: 20.1
* Python version: 3.6
* OS: CentOS 6.9

<!-- Feel free to add more information about your environment here -->

**Description**
I happen to have a script that myself and my coworkers I run frequently to create a virtualenv, update to the latest version of pip, then install a pinned requirements.txt as part of my daily workflow. Suddenly when I ran it today I got a whole lot of:
```Could not build wheels for <pkgname>, since package 'wheel' is not installed.```
I got this message even though all my requirements were actually up to date so it shouldn't have even been trying to build wheels.

The wording of this is extremely jarring and especially since theres no coloration of the output or a prefix saying "INFO" or something, the first assumption that myself and my coworkers made was that our package installation wasn't happening correctly.

This pull request should be reverted or at the very least the language changed a lot because it will cause a lot of panic. I would argue that it should only launch a single log line at the top that says something like "Info: the package wheel isn't installed, so we won't try building any wheels" instead of printing one line for each package


Discussion:
Linking #7768 
Example output when reinstalling `packaging` from a local directory in a venv without the wheel package:

```console
$ pip install ./packaging                                                                                                                                                    Processing ./packaging
Requirement already satisfied: pyparsing>=2.0.2 in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (2.4.7)
Requirement already satisfied: six in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (1.14.0)
Could not build wheels for packaging, since package 'wheel' is not installed.
Could not build wheels for pyparsing, since package 'wheel' is not installed.
Could not build wheels for six, since package 'wheel' is not installed.
Installing collected packages: packaging
  Attempting uninstall: packaging
    Found existing installation: packaging 20.1
    Uninstalling packaging-20.1:
      Successfully uninstalled packaging-20.1
    Running setup.py install for packaging ... done
Successfully installed packaging-20.1
```


Resolving patch:
diff --git a/src/pip/_internal/wheel_builder.py b/src/pip/_internal/wheel_builder.py
--- a/src/pip/_internal/wheel_builder.py
+++ b/src/pip/_internal/wheel_builder.py
@@ -69,14 +69,6 @@ def _should_build(
     # From this point, this concerns the pip install command only
     # (need_wheel=False).
 
-    if not req.use_pep517 and not is_wheel_installed():
-        # we don't build legacy requirements if wheel is not installed
-        logger.info(
-            "Could not build wheels for %s, "
-            "since package 'wheel' is not installed.", req.name,
-        )
-        return False
-
     if req.editable or not req.source_dir:
         return False
 
@@ -87,6 +79,14 @@ def _should_build(
         )
         return False
 
+    if not req.use_pep517 and not is_wheel_installed():
+        # we don't build legacy requirements if wheel is not installed
+        logger.info(
+            "Using legacy setup.py install for %s, "
+            "since package 'wheel' is not installed.", req.name,
+        )
+        return False
+
     return True
 
 


Test patch: