Catch failure to open installed Makefile, and report it as a
DistutilsPlatformError: "invalid Python installation". (This will
happen on Red Hat-ish systems where the python-devel package is not
installed.)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 5cc71dc..a5f3816 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -229,7 +229,17 @@
"""Initialize the module as appropriate for POSIX systems."""
g = globals()
# load the installed Makefile:
- parse_makefile(open(get_makefile_filename()), g)
+ try:
+ filename = get_makefile_filename()
+ file = open(filename)
+ except IOError, msg:
+ my_msg = "invalid Python installation: unable to open %s" % filename
+ if hasattr(msg, "strerror"):
+ my_msg = my_msg + " (%s)" % msg.strerror
+
+ raise DistutilsPlatformError, my_msg
+
+ parse_makefile(file, g)
def _init_nt():