diff Python/pythonrun.c @ 59867:a366d631a629 3.1

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 :-)
author Victor Stinner <victor.stinner@haypocalc.com>
date Sun, 21 Mar 2010 21:57:42 +0000
parents c2d2e26bcf7f
children 677511edf05c
line wrap: on
line diff
--- a/Python/pythonrun.c	Sun Mar 21 21:48:45 2010 +0000
+++ b/Python/pythonrun.c	Sun Mar 21 21:57:42 2010 +0000
@@ -712,12 +712,22 @@
 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);