On Tue, Jul 3, 2012 at 2:40 PM, Dan Stromberg <drsali...@gmail.com> wrote: > > Why is it that so much 3rd party python code gets installed to > site-packages?
Because that's what site-packages is for? > Even for things that are almost certainly going to be used by a single > application? > > Even for things you might only use once? > > Even for things that might require one version for one app, and another > version for another app? For these types of uses, I suggest using virtualenv if you don't want to pollute your site-packages. Or Python 3.3 with the new built-in virtual environment option. > Why not stash an application's python modules in /usr/local/lib/[appname], > and stash a little frontend in /usr/local/bin that adds > /usr/local/lib/[appname] to sys.path? What if you then write an application that you find needs two of these libraries? You write yet another frontend that adds both of them to sys.path? > Here's a thread on stackoverflow today asking why python starts up so > slowly, and making it clear that this is because so much stuff ends up in > site-packages: > http://stackoverflow.com/questions/11318028/is-it-safe-to-use-pythons-s-option I think you may be misunderstanding that thread. They're saying that starting Python with the -S option (i.e. not automatically importing the site module) significantly cuts down on Python's startup time. The site module has to process any .pth files in the site-packages, but apart from that, I think the actual amount of stuff in site-packages should be irrelevant. Nothing in site-packages is actually imported or otherwise processed until the application requests it. You could have a completely empty site-packages, or you could have 20 gigs of third-party packages, and the time to import site would be basically the same. -- http://mail.python.org/mailman/listinfo/python-list