[Distutils] __build__ as a temp build directory for setup.py

Ronald Oussoren ronaldoussoren at mac.com
Thu Oct 25 10:46:16 CEST 2012

On 25 Oct, 2012, at 9:23, anatoly techtonik <techtonik at gmail.com> wrote:

> On Tue, Oct 23, 2012 at 9:28 AM, Ronald Oussoren <ronaldoussoren at mac.com> wrote:
>> On 22 Oct, 2012, at 20:03, anatoly techtonik <techtonik at gmail.com> wrote:
>>> What do you think about this?
>>> http://bugs.python.org/issue16299
>> The cost of changing the build directory is high, and has limited upsides at best. Some of the costs: confusing current users, breaking existing documentation like books, breaking build systems, incompatibility between python versions.
> There is already a lot of incompatibilities between 2 and 3, and even
> between 3.1, 3.2 and 3.3, so the added value of this change to the
> total cost is miserable. Speaking about user confusion - if they won't
> find 'build' directory - they'll surely notice __build__ in their
> tree. Python 3 toolchains are still fragile, so it won't come for me a
> a surprise if Python 3.4 conventions are not the same as in 3.3.

What do you mean w.r.t. python 3 toolchain fragility? AFAIK distutils and distribute work fine with Python 3, and have the same interface as with Python 2.

> So, there are two questions:
> 1. If you were designing Python from scratch right now now -  which
> name would you choose `__build__` or  `build` for the temporary
> directory?

I don't know what I'd choose, __build__ is a bit too cute for my taste. I do know that I also use "build" as the name for build directories outside of Python, and have done so from before I used Python.

Anyway, we are not designing from scratch, and that means you have to take the cost of change into account. Given the, at best, small improvement I don't think it worthwhile to change the default. See also <http://www.boredomandlaziness.org/2011/02/status-quo-wins-stalemate.html>.

> 2. Is the Python 3.x already mature enough to deny any improvements
> (considering these are improvements) for the 3.4 version?

Of course not, but there is a balance between the cost of changes and the improvements those bring. 


>> If the name of the build directory bothers you you can change it by adding two lines to ~/.pydistutils.cfg:
>> [build]
>> build-base = __build__

More information about the Distutils-SIG mailing list