[Catalog-sig] Use user-specific site-packages by default?

Marcus Smith qwcode at gmail.com
Sun Feb 10 09:56:29 CET 2013


Hello, another pip maintainer here (I think that's 4 of us in here now that
I know of).

I just joined this list, so couldn't respond to the original email,  so
just pasted it below.  I haven't read all the way though all the messages,
so apologize for redundancies.

This all sounds reasonable to me, and pip did improve the --user support a
lot in v1.2.1, so that's good timing. There's still a few --user bugs to be
fixed, but all very doable, if its really meant to play such a major role
like this.

I admit though, I had to do a double take on this thread.

For many users,  virtualenvs are their "user install", and "sudo" global
installs are pretty rare. So, putting in a lot of work to fix what to many
seems like a rare behavior makes me a little hesitant. But "many users"
isn't all I guess, and maybe I'm off on the "many" part, not sure.  I guess
it's still worthwhile to prevent *any* unnecessary root installs.

Maybe user education is enough?  I was going to add a section to pip's new
cookbook on --user installs, and with all the focus on security now, it
could be emphasized really strongly and explained why it's a good thing.
 This, along with adding informative messages when users fail writing to
the global site might go a long way.

Btw,  the user site is visible in virtualenvs that have global access (and
is lower in precedence than the virtualenv site-packages), so I'm pretty
sure it can serve as a place for common packages, that the global site is
often used for.

Marcus


Inside a virtual environment:
>     pip install pkg: works as now
>     pip uninstall pkg: works as now
>
> Ordinary user (no write-access to system site packages):
>
>     pip install pkg: installs to per-user site packages
>     pip uninstall pkg: uninstalls from per-user site packages
>     pip install --user pkg: installs to per-user site packages
>     pip uninstall --user pkg: uninstalls from per-user site packages
>     pip install --system pkg: fails (likely with a permissions error)
>     pip uninstall --system pkg: fails, even if the package is present
> (likely with a permissions error)
>
> Administrator/root (write-access to system site packages):
>
>     pip install pkg: asks for confirmation before installing to
> per-user site packages
>     pip uninstall pkg: asks for confirmation before uninstalling from
> per-user site packages
>     pip install --user pkg: installs to per-user site packages
>     pip uninstall --user pkg: uninstalls from per-user site packages
>     pip install --system pkg: install to system site packages
>     pip uninstall --system pkg: uninstalls from site packages
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/catalog-sig/attachments/20130210/6798e541/attachment-0001.html>


More information about the Catalog-SIG mailing list