The problem issue remaining is recognising when we need to do this. In terms of code paths, pip install -U pip is no different from (for example) pip install -U flask. But it needs to be handled specially just because it's pip. And it *doesn't* need to be handled specially if it's "python -m pip install -U pip". That's not a Windows issue, though, I was just using the Windows issue to put off having to think about it :-)