On 3 May 2013 11:39, "Donald Stufft" <don...@stufft.io> wrote: > > > On May 2, 2013, at 9:02 PM, Nick Coghlan <ncogh...@gmail.com> wrote: > > > On Fri, May 3, 2013 at 9:30 AM, Donald Stufft <don...@stufft.io> wrote: > >> > >> On May 2, 2013, at 7:17 PM, Nick Coghlan <ncogh...@gmail.com> wrote: > >> > >> > >> On 3 May 2013 09:08, "Donald Stufft" <don...@stufft.io> wrote: > >>> > >>> On May 2, 2013, at 6:48 PM, Nick Coghlan <ncogh...@gmail.com> wrote: > >>>> > >>>> "pip --user" manipulates the per-user directories (and I believe I filed > >>>> a ticket a while back suggesting it should migrate to the model distil now > >>>> uses). > >>>> > >>>> Cheers, > >>>> Nick. > >>> > >>> I don't think it makes sense for pip to do this tbh. > >> > >> Language level installers should leave "/usr" alone by default, as that part > >> of the filesystem is the domain of system packages. > >> > >> Cheers, > >> Nick. > >> > >> Out of the three primary OSs only one of them has a concept of system > >> packages. Regardless it's a major change in behavior and isn't a clear cut > >> right or wrong choice. It's going to need a stronger justification than that > >> to break backwards compatibility in such a large way. > > > > How about: I won't approve PEP 439 as long as pip still writes to the > > system site-packages by default when running as an ordinary user on > > Linux systems? "sudo pip" needs to be banished from the command line > > lexicon of Python developers. > > > > The transition isn't that hard: add --system now, switch the default > > from --system to --user for anyone *other than root* some time before > > Python 3.4. Anyone using virtual environments or an explicit --user or > > --system will be utterly unaffected when the default changes, as will > > anyone running an explicit "sudo pip" (in order to get write access to > > the system Python site-packages). > > > > Cheers, > > Nick. > > > > -- > > Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia > > So your answer to my wanting stronger justification is "because I said so"?
Because sysadmins don't participate in upstream development and non-platform provided tools messing with /usr is wrong, wrong, wrong. The system Python is the domain of distro tools, we should be leaving it the hell alone. Cheers, Nick. > > *Why* does ``sudo pip`` need to be banished? ``pip install --user`` is not any safer, it's not > any more or less wrong. It's an option. If pip was brand new I'd probably be of the opinion > that I prefer the user scheme by default. However pip is not new, and it has a long history > of working in this way. Changes can be made but I'm loath to support a large change in > behavior like this without strong justification as to *why*. > > I also think your proposed solution of --user being the default unless we are running as root > is suboptimal. Conditional defaults are confusing to end users, even more so when a common > "error" condition (e.g. I forgot to type sudo before I pip installed, or I forgot to activate my virtualenv) > is going to move from being an error to installing to the user scheme and *working*… right up until > the time you actually try and use it. > > ----------------- > Donald Stufft > PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA >
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig