I am one who was badly bitten by pip install into system in the past, and I have been using pip --user since.  But there is one big usability issue here, there isn't a trivially simple way to make sure packages installed by pip are updated, much less automatically updated.  I think it would be important for a change to --user by default to try to address this issue.

On Sun, Dec 11, 2016 at 11:39 PM Nick Coghlan <ncoghlan@gmail.com> wrote:
On 11 December 2016 at 01:33, Donald Stufft <donald@stufft.io> wrote:
>
> On Dec 10, 2016, at 8:10 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:
>
>> P.S. For folks wondering what the problem with "--user" is on
>> Debian/Ubuntu, as far as I know it's mainly the fact that
>> "~/.local/bin" isn't on PATH by default, so scripts installed via
>> "--user" aren't automatically available.
>
> FWIW, I think Nathaniel? got the uh, Bash? Maintainers on Debian to add it
> to the default skel for users.

Ah, nice - that's very good to hear, as it removes one of the barriers
to making "--user" the default behaviour upstream in pip.

However, it also reminded me of our past discussions about defaulting
to --user in pip, and re-reading the relevant issue brought me to:
https://github.com/pypa/pip/issues/1668#issuecomment-107016411

The specific proposal there was to:

1. Add the `--global` flag to pip upstream, so folks can always force
environment global installs by doing:

    pip3 install --global <install-spec>

2. Change the default install behavior in the Fedora system pip
package to include "--user" (and require an explicit "--global" to
override that)

The burden would then be on Fedora as the distro to ensure that "pip3
install <arbitrary-package>" still offered a good user experience,
such as making sure that the per-user bin directory was on PATH by
default.

Actually doing that would mean taking Donald's first pass at
implementing the `--global` switch, bringing it up to merge-ready
standards, and then incorporating the pip release containing the
feature into Fedora: https://github.com/pypa/pip/pull/2418

The benefit of that approach is that it would not only solve the
conflict between dnf and pip at the Fedora level, but also move the
packaging user experience forward for the Python ecosystem as a whole
(by making the `--global` switch available in anticipation of a future
upstream switch to `--user` as the default).

Cheers,
Nick.

--
Nick Coghlan   |   ncoghlan@gmail.com   |   Brisbane, Australia
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-leave@lists.fedoraproject.org