I am having lots of trouble installing pretty much any part of the Python ecosystem [on my Windows 10 x64 system]... it turns out that something in the Python runtime used by install scripts is being confused by my RAM drive -based "temp" folder.
While I do have a workaround, it means - JUST so I can do Python stuff - I need to set my TMP (and TEMP) to point to a real HDD/SSD - and that is really inconvenient, as NOTHING else I do currently on my Windows system is in the least bit troubled by my preferred TMP setting.
The 2 commands that have failed (and both were resolved by changing the TMP (and TEMP) setting as described above):
python get-pip.py
pip install --user pipenv
... note that both fail the same way, with something like (from the second command)
Collecting pipenv
Downloading pipenv-2018.11.26-py3-none-any.whl (5.2 MB)
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '\\Device\\ImDisk0\\pip-unpack-88i8f6t6\\pipenv-2018.11.26-py3-none-any.whl'
Note that TMP is actually set as C:\tmp, which is itself a mount of \\Device\\ImDisk0, set up by the ImDisk package on Windows (ImDisk Toolkit download).
I suspected a "sensitivity" to the actual implementation of c:\tmp since several years ago, the bash shell that comes with the Windows git install showed the same issue (they actually complained about some issue when doing a stat on the TMP folder and/or device) - but it got magically fixed on their end.
So, while I probably shouldn't hold my breath for a fix to this in the Python world, I wanted to bring it up in case anyone else is being driven crazy by this bug (and hey, it could get fixed).
All you should need to do is set the TMPDIR environment variable to the location where you want temporary files to be downloaded to.