This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Make “install” find the build_base directory
Type: behavior Stage: resolved
Components: Distutils Versions: Python 3.4, Python 3.5, Python 2.7
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: eric.araujo Nosy List: alexis, daishiharada, dstufft, eric.araujo, ezio.melotti, seanmccully, steve.dower, tarek, vstinner
Priority: normal Keywords: patch

Created on 2004-08-18 00:36 by daishiharada, last changed 2022-04-11 14:56 by admin. This issue is now closed.

File name Uploaded Description Edit
issue1011113-py34.patch seanmccully, 2014-08-10 21:40 Python 3.4 Patch review
issue1011113-default.patch seanmccully, 2014-08-10 21:41 default branch patch review
issue1011113-py27.patch seanmccully, 2014-08-10 21:41 Python 2.7 review
Messages (11)
msg60550 - (view) Author: daishi (daishiharada) Date: 2004-08-18 00:36
This is somewhat related to Bug#818201, in that it
involves that fact that the --build-base option only
appears to be operational under the build command.

Hence it is not possible to do:

python install -b <somedir>

The --help for install does not say that one can, so
the situation is not as inconsistent as in the previous
bug report. Nevertheless, it is problematic that once
one does:

python build -b <somedir>

as far as I can tell there is _no way_ to just install
the result.

One needs to always do:

python build -b <somedir> install

This seems somewhat unwieldy; perhaps -b should be
more universally available to all distutil commands?
msg114464 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010-08-20 23:08
Thanks for the report. distutils does not get new features anymore. This gives us time to focus on distutils2, the next generation. Thanks to the configure command (#8254), the functionality you require will be easily supported in distutils2. I’ll get back to this feature when configure is 100% finished and merged into the main repo.
msg146440 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-10-26 16:06
Actually I think this bug can be fixed in distutils.
msg147496 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-11-12 15:05
I’ve found a distutils commit that shows that this option was removed on purpose, because people might except that using “install -b foo” would affect the build command, but it does not.  I don’t think it’s a problem.  For people who run build and install in separate steps, it should be possible to say “build -b spam” and then “install -b spam”.
msg224729 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-08-04 14:55
Éric, can this be closed then?
msg224748 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2014-08-04 18:20
In my previous message I meant that I agreed with the original request, i.e. add --build-base to install.  I will probably never have the time to write a patch.
msg225163 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:40
Please advise any changes that need to be made, this is technically my second patch submission to cpython. I also had trouble running the unittests when backporting to 2.7.

Look at distutils, there wasn't a clear method for linking commands to share common options. This led to the solution provided which searches command options provided (via command line or configuration) for any shared options between command being ran and commands specified.

Patch for Python 3.4 attached.
msg225164 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:41
Attachng Python 3.5/default branch patch.
msg225165 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:41
Attaching Python 2.7 patch.
msg348620 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-07-29 11:34
This issue is 15 years old and has 3 patches: it's far from being "newcomer friendly", I remove the "Easy" label.
msg386278 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:10
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils.

If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at
Date User Action Args
2022-04-11 14:56:06adminsetgithub: 40775
2021-02-03 18:10:32steve.dowersetstatus: open -> closed

nosy: + steve.dower
messages: + msg386278

resolution: out of date
stage: needs patch -> resolved
2019-07-29 11:34:18vstinnersetkeywords: - easy
nosy: + vstinner
messages: + msg348620

2014-08-10 21:41:42seanmccullysetfiles: + issue1011113-py27.patch

messages: + msg225165
2014-08-10 21:41:18seanmccullysetfiles: + issue1011113-default.patch

messages: + msg225164
2014-08-10 21:40:31seanmccullysetfiles: + issue1011113-py34.patch

nosy: + seanmccully
messages: + msg225163

keywords: + patch
2014-08-04 18:20:00eric.araujosetstatus: pending -> open

dependencies: - write a configure command
messages: + msg224748
2014-08-04 14:55:17ezio.melottisetstatus: open -> pending
nosy: + ezio.melotti
messages: + msg224729

2014-07-05 22:10:35BreamoreBoysetnosy: + dstufft

components: - Distutils2
versions: + Python 3.4, Python 3.5, - 3rd party, Python 3.2, Python 3.3
2011-11-12 15:05:59eric.araujosetmessages: + msg147496
2011-10-26 16:06:09eric.araujosetcomponents: + Distutils
versions: + Python 2.7, Python 3.2, Python 3.3
keywords: + easy
messages: + msg146440
type: enhancement -> behavior
resolution: remind -> (no value)
stage: needs patch
2011-02-13 16:06:10alexissetnosy: + alexis
2010-09-30 00:34:51eric.araujosetversions: + 3rd party, - Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2
2010-08-21 03:10:37terry.reedysetnosy: - terry.reedy
2010-08-20 23:08:51eric.araujosetassignee: tarek -> eric.araujo
dependencies: + write a configure command
type: enhancement
components: + Distutils2, - Distutils
title: distutils install with -b / --build-base -> Make “install” find the build_base directory
nosy: terry.reedy, daishiharada, tarek, eric.araujo
versions: + Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2
messages: + msg114464
resolution: remind
2010-08-20 22:52:10eric.araujosetmessages: - msg114463
2010-08-20 22:52:05eric.araujosetmessages: - msg113025
2010-08-20 22:52:00eric.araujosetmessages: - msg113011
2010-08-20 22:51:40eric.araujosetmessages: + msg114463
2010-08-05 19:18:45eric.araujosetnosy: + eric.araujo
messages: + msg113025
2010-08-05 19:02:21terry.reedysetnosy: + terry.reedy
messages: + msg113011
components: + Distutils, - None
2009-02-11 02:55:42ajaksu2setassignee: tarek
nosy: + tarek
2004-08-18 00:36:12daishiharadacreate