[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