From: Victor Stinner Date: Sun, 21 Mar 2010 21:57:42 +0000 (+0000) Subject: Revert my change on initsite(): don't change import site error handler in 3.1, X-Git-Tag: v3.1.3rc1~1045 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d6af707cfac6406feb5c82656bb8f313bfcb696;p=python Revert my change on initsite(): don't change import site error handler in 3.1, as I did for 2.6. But fix the other bugs :-) --- diff --git a/Misc/NEWS b/Misc/NEWS index 3e6cf262c0..9d42ce6922 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -25,11 +25,6 @@ What's New in Python 3.1.2? Core and Builtins ----------------- -- 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. - - Issue #7173: Generator finalization could invalidate sys.exc_info(). Library diff --git a/Python/pythonrun.c b/Python/pythonrun.c index f4f87662d2..55b9d50e50 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -712,12 +712,22 @@ initmain(void) static void initsite(void) { - PyObject *m; + PyObject *m, *f; m = PyImport_ImportModule("site"); if (m == NULL) { - PyErr_Print(); - Py_Finalize(); - exit(1); + f = PySys_GetObject("stderr"); + if (f == NULL || f == Py_None) + return; + if (Py_VerboseFlag) { + PyFile_WriteString( + "'import site' failed; traceback:\n", f); + PyErr_Print(); + } + else { + PyFile_WriteString( + "'import site' failed; use -v for traceback\n", f); + PyErr_Clear(); + } } else { Py_DECREF(m);