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"? *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
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig