--- Python/pythonrun.c.orig 2008-09-30 21:50:22.000000000 +1000 +++ Python/pythonrun.c 2008-09-30 21:54:23.000000000 +1000 @@ -532,6 +532,18 @@ interp->modules = PyDict_New(); interp->modules_reloading = PyDict_New(); + /* XXX Copied from Py_InitializeEx(). */ + + bimod = _PyBuiltin_Init(); + if (bimod == NULL) + Py_FatalError("Py_Initialize: can't initialize builtins modules"); + _PyImport_FixupExtension(bimod, "builtins", "builtins"); + interp->builtins = PyModule_GetDict(bimod); + if (interp->builtins == NULL) + Py_FatalError("Py_Initialize: can't initialize builtins dict"); + Py_INCREF(interp->builtins); + +#if 0 bimod = _PyImport_FindExtension("builtins", "builtins"); if (bimod != NULL) { interp->builtins = PyModule_GetDict(bimod); @@ -539,6 +551,31 @@ goto handle_error; Py_INCREF(interp->builtins); } +#endif + + /* XXX Copied from Py_InitializeEx(). */ + + /* initialize builtin exceptions */ + _PyExc_Init(); + + sysmod = _PySys_Init(); + if (sysmod == NULL) + Py_FatalError("Py_Initialize: can't initialize sys"); + interp->sysdict = PyModule_GetDict(sysmod); + if (interp->sysdict == NULL) + Py_FatalError("Py_Initialize: can't initialize sys dict"); + Py_INCREF(interp->sysdict); + _PyImport_FixupExtension(sysmod, "sys", "sys"); + PySys_SetPath(Py_GetPath()); + PyDict_SetItemString(interp->sysdict, "modules", + interp->modules); + + _PyImportHooks_Init(); + initmain(); + if (!Py_NoSiteFlag) + initsite(); + +#if 0 sysmod = _PyImport_FindExtension("sys", "sys"); if (bimod != NULL && sysmod != NULL) { interp->sysdict = PyModule_GetDict(sysmod); @@ -553,6 +590,7 @@ if (!Py_NoSiteFlag) initsite(); } +#endif if (!PyErr_Occurred()) return tstate;