Merged revisions 78826 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78826 | victor.stinner | 2010-03-10 23:30:19 +0100 (mer., 10 mars 2010) | 5 lines
Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt
(SIGINT). If an error occurs while importing the site module, the error is
printed and Python exits. Initialize the GIL before importing the site
module.
........
diff --git a/Lib/site.py b/Lib/site.py
index bf4d67f..14fa570 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -489,11 +489,12 @@
pass
except Exception as err:
if os.environ.get("PYTHONVERBOSE"):
- raise
- sys.stderr.write(
- "Error in sitecustomize; set PYTHONVERBOSE for traceback:\n"
- "%s: %s\n" %
- (err.__class__.__name__, err))
+ sys.excepthook(*sys.exc_info())
+ else:
+ sys.stderr.write(
+ "Error in sitecustomize; set PYTHONVERBOSE for traceback:\n"
+ "%s: %s\n" %
+ (err.__class__.__name__, err))
def execusercustomize():
@@ -502,6 +503,14 @@
import usercustomize
except ImportError:
pass
+ except Exception as err:
+ if os.environ.get("PYTHONVERBOSE"):
+ sys.excepthook(*sys.exc_info())
+ else:
+ sys.stderr.write(
+ "Error in usercustomize; set PYTHONVERBOSE for traceback:\n"
+ "%s: %s\n" %
+ (err.__class__.__name__, err))
def main():