[New-bugs-announce] [issue23746] sysconfg.is_python_build() is buggy
Anand B Pillai
report at bugs.python.org
Mon Mar 23 10:13:02 CET 2015
New submission from Anand B Pillai:
On Python 3.5.0a1+ built from source,
>>> import sysconfig
>>> import sys
The problem is, when sys._home is None, this function uses _is_python_source_dir(_PROJECT_BASE) . In this case the _PROJECT_BASE is clearly passed wrongly as '/opt/bin'. That is the INSTALL_PREFIX, not _PROJECT_BASE .
Let us do a small hack and set _PROJECT_BASE to the folder where I build this Python version.
# Of course this can't be reproduced but you get the idea.
The documentation says,
Return True if the current Python installation was built from source.
which is clearly in conflict with what it is doing.
>From a quick look at sysconfig.py it looks like it is calculating _PROJECT_BASE wrongly.
I can give a patch for this, but first I am more interested in finding out what this function is supposed to do - why have this function if you are not able to get the details of the build environment from the built interpreter ? Clearly it is not doing that here.
The conclusions are part of the attached file in comments.
components: Library (Lib)
title: sysconfg.is_python_build() is buggy
versions: Python 3.4, Python 3.5
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce