0

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).

RDaneel
  • 1
  • 1

1 Answers1

1

All you should need to do is set the TMPDIR environment variable to the location where you want temporary files to be downloaded to.

linqo
  • 617
  • 4
  • 16
  • This sounds a bit unlikely, given that the unfortunately required "fix" is to force the use of actual SSD/HDD instead of a RAM drive, and have this reflected in the TMP/TEMP environment vars... but I will for sure try this as soon as I need to do something else even remotely "install-ey" in Python. – RDaneel May 08 '20 at 03:14
  • And... I just tried, and, no - this doesn't help - but thanks for the suggestion. – RDaneel May 08 '20 at 21:43