On 25 June 2016 at 23:40, Nathaniel Smith
Of course, there is a third mental state that the user might have been in: that they didn't know whether 'foo' is installed, and they wanted to guarantee that some version of 'foo' is installed, but they genuinely didn't care what version that is, *and* they'd prefer to keep an old version rather than upgrade. That's a fairly odd and complicated mental state to be in, but I guess it does come up sometimes (like in Ian's use case of writing automated sysadmin scripts).
It's not *that* strange a mental state. Windows users often have issues installing packages, either because they don't have a compiler, or because dependencies are hard to get right. So "don't do any non-essential install steps in case they go wrong" is an entirely reasonable viewpoint. And then, "pip install foo" meaning "install a copy if it's not there, otherwise leave me with my working version" seems to me to be a perfectly sensible expectation. Actually, that's more general than just windows. Wanting to have foo available, but not wanting to risk the possibility of a failed install for *whatever* reason, seems reasonable. Maybe it's just that Windows users are more used to installs failing (before wheels became common)? Paul