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

Antoine Pitrou solipsis at pitrou.net
Tue Feb 5 20:34:03 CET 2013


Hello,

M.-A. Lemburg <mal <at> egenix.com> writes:
> > 
> > If pip used the user site packages by default (when running as anyone
> > other than root), that dangerous UI flow wouldn't happen. Even when
> > pip was run outside a virtualenv, it would "just work" from the users
> > perspective. It also has the advantage of keeping systems cleaner by
> > default, since there will be a clear separation between system
> > packages and pip-installed packages.
> > 
> > Thoughts?
> 
> -1. You'd be hiding a real problem by not telling the user that
> there's a permission problem to think about.

I agree with Marc-Andre. The error message when "pip install foo" fails
should be changed to suggest "pip install --user foo", but hiding the fact
that maybe you forgot to type "sudo" and your package was silently
installed in the user's site-packages while you wanted it to be global
is not helpful.

Also, under Nick's suggestion it's not obvious what "pip install foo" should
do when run as root: install it under the root account's site-packages, or
in the global site-packages?

(not to mention that changing the default to --user would make pip
inconsistent with distutils / setuptools, making things even more confusing)

Regards

Antoine.




More information about the Catalog-SIG mailing list