I have just noticed that this code looks through search_dirs in order - unlike the old _find_files which went in reversed order. This means that virtualenv_support will always be checked before user directories. This is good, because it means that we always use the bundled pip/setuptools to do the install. But it means that we need to do a *second* search for the wheels to install if we want to use an explicit search of the user search directories rather than pip's search algorithm (see the comments from @qwcode on the block of code below).

For now, I'm just noting this in case the code gets changed as @qwcode suggests. It will be important to clearly comment the code to explain the reason for the double search, as otherwise it could become a maintenance problem.