[Distutils] environment variables in buildout config files?
Barry Warsaw
barry at python.org
Thu Jan 8 22:37:05 CET 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Jan 8, 2009, at 4:28 PM, Marius Gedminas wrote:
> After Jim's explanation (thanks!) I don't see a reason why develop-
> eggs
> couldn't also be shared... no, wait, perhaps I see one.
>
> Imagine project A using a develop-egg of a *branch* of zope.frobozz,
> while project B uses a develop-egg of the *trunk* of zope.frobozz. In
> that case /path/to/project-A/develop-eggs/zope.frobozz.egg-link will
> contain a link to ~/src/zope.frobozz/random-feature-branch, while
> /path/to/project-B/develop-eggs/zope.frobozz.egg-link would containt a
> link to ~/src/zope.frobozz/trunk. Same filename, different content --
> ergo, develop-eggs cannot be shared between projects.
>
> I have a couple of source trees in my home directory that contain an
> actual example of this.
That makes sense. I don't do this, but it definitely makes sense.
>>>> I kind of dislike having artifacts like these live in my version
>>>> controlled source directory (well, there's bin too, but I can kind
>>>> of live with that). What's the best way of doing that?
>>>
>>> echo 'bin parts develop-eggs' > .csvignore
>>> svn propedit svn:ignore .
>>> bzr ignore bin parts develop-eggs
>>> or the equivalent for the VCS of your choice.
>>
>> Actually, it's not so much 'bzr stat' that I care about since that's
>> easily ignored.
>
> (in which case your wording misled me ;)
Sorry ;)
>> It's 'ls' that I care about since that's tougher to
>> ignore. I guess I could use dot-prefixes. ;)
>
> Personally, I'm more bothered by the '*.egg-info' directories
> created by
> setuptools. Also, but to a somewhat lesser extent, the 'build' and
> 'dist'
> ones created by distutils.
Yeah, I hate all of those too!
> 'bin' and 'parts' are something I need to deal with rather often.
> I've
> grown to like bin/$randomscript, and while 'parts/$whatever/$somefile'
> is a bit too deep and nested, I appreciate the namespacing and
> explicitness ("this is a directory managed by buildout; it may be
> wiped
> out at any moment; don't touch it"). 'develop-eggs' is something that
> I'm not personally interested in and wouldn't mind hiding with a
> dot-prefix, but since I can't do that with 'build' and 'dist', I don't
> see much point. As long as it doesn't interfere with my tab-
> completion,
> I'm fine.
bin is a tough one. I love its convenience. parts I've never used.
setup_requires dependencies also show up here (I always see the bzr
egg because I setup-depend on setuptools_bzr).
One other thing that bugs me about these is that it's not obvious from
an ls what you can actually delete because it's an artifact of
setuptools/buildout/etc and what is part of your package. I mean, you
have to know that it's safe to delete bin, dist, and build right?
setup.py has a 'clean' command but it's not enough. Maybe if buildout
added a --clean option or something that would be better. What I
really want is a simple way to revert a tree back to its pristine
version-controlled layout, without all the build, develop, test
artifacts.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)
iQCVAwUBSWZyAXEjvBPtnXfVAQKOYwP/Y3f/KD+/xXRzIP3TyRFUgtVywAfdnytU
+H58rajSCt/WrYhwkLlFxBga/+/FQ7HqtpBQYZ7WEidh6FM2qjMmVGkVgVtOE3kQ
umBgYc25lLytwj2nS05ZRANHDLYhWNbq8XMxrNnWLMPxxlT48ldrziBRv8MrKAX7
cBxHuKzJOAY=
=21nV
-----END PGP SIGNATURE-----
More information about the Distutils-SIG
mailing list