On Thu, Sep 25, 2014 at 5:38 PM, Donald Stufft <donald@stufft.io> wrote:
2) Switch to —user based on if the user has permission to write to the
    site-packages or not.

ouch -- no. Why not a clear error message if pip can't write to site-packages -- something like:
I fairly strongly believe that the current default is doing a great disservice
to users. I believe that for *most* people --user is the correct option for
them to be using and the fact that it's not the default and requires opt in
is a historical artifact more than anything else.

OK -- fine -- I think that history may be important -- at least for Py2, but I agree that --user is a better default.

But what I'm objecting to is is switching the install mode based on the permissions that the user happens to be running with at the time.  

None of us should be routinely running as admin. So what I do (and I image a LOT of people do) is try to do whatever I need to do, and only if I get an error to I switch to admin mode (or add sudo, or ???). What I'm suggesting is that folks that simply expect stuff to get installed into the usual system python is not thinking ahead of time "oh, I need be admin for this", but rather, simply do it, and then, if you get a permission error, make the switch to either admin in mode, or add --user.

If we do switch the default to --user, then this issue goes away.

In short -- too much magic is bad.

All this is also making me think that virtualenv and friends is the real solution to user installed packages anyway.

-Chris

 
--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker@noaa.gov