[Distutils] distil 0.1.1 released

Donald Stufft donald at stufft.io
Fri May 3 03:39:18 CEST 2013


On May 2, 2013, at 9:02 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

> On Fri, May 3, 2013 at 9:30 AM, Donald Stufft <donald at stufft.io> wrote:
>> 
>> On May 2, 2013, at 7:17 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> 
>> 
>> On 3 May 2013 09:08, "Donald Stufft" <donald at stufft.io> wrote:
>>> 
>>> On May 2, 2013, at 6:48 PM, Nick Coghlan <ncoghlan at 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   |   ncoghlan at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130502/554e80e2/attachment.pgp>


More information about the Distutils-SIG mailing list