[Distutils] setuptools for people behind a firewall

Paul Moore p.f.moore at gmail.com
Thu Jul 14 17:50:48 CEST 2005


On 7/14/05, Phillip J. Eby <pje at telecommunity.com> wrote:
> At 11:26 AM 7/14/2005 +0100, Paul Moore wrote:
> >
> >Hmm, I'm only looking on sys.path - I hadn't imagined that development
> >software would be added to the *default* sys.path...
> 
> By default, if you use "develop" on a package, it becomes part of the
> default sys.path; this makes sense on machines that are "development"
> machines.

Ah! I don't work that way, so this hadn't occurred to me. No wonder I
didn't follow the discussion on "develop" :-)

I'll have to think about this.

> This is easily set on a per-user or sitewide basis; in a
> shop making use of these tools, you'd probably do this (as root):
> 
>     setup.py setopt -g -c develop -o install_dir -s /somewhere/staging

Ooh, these setup commands that do global stuff unrelated to the
package whose setup.py is being used confuse me! More to think
about...

> There's a get_python_lib() function in distutils that I use.  However, I've
> recently discovered that the situation on Mac OS X is more complex; users
> have a ~/Library/python2.X/site-packages directory as well.
> 
> 
> >Sorry - I'm doing find_distribution() on every entry in sys.path. What
> >I was getting at, is whether that process could miss any eggs which
> >easy_install may have put into site-packages.
> 
> No; find_distributions(site_packages) would list everything installed in
> that directory, whether active or not, plus distributions for anything that
> was installed as a development link in site-packages.  That is, even if
> *all* you call find_distributions() on is site-packages, it's still going
> to include distributions whose .path is elsewhere, and that's fine because
> you want to know about those anyway; just list them with a "(Development)"
> status or something in your output.

Sounds reasonable. There are lots of complexities here I hadn't
considered, because I'm working purely from the POV of a *user* of
eggs, not a *producer* of them. Maybe that's why bdist_wininst
installers, simplistic though they are, suit a lot of my needs. (But
that's leading onto another philosophical ramble, which I'll spare
you... :-))

Paul.


More information about the Distutils-SIG mailing list