mirror of
https://github.com/python/cpython.git
synced 2026-06-28 11:50:50 +00:00
[3.13] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283) (#151287)
[3.14][3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283) [3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) If "import encodings" fails at Python startup, dump the Python path configuration to help users debugging their configuration. The encodings module is the first module imported during Python startup. (cherry picked from commit7b6e98911e) (cherry picked from commit10f616cf39) (cherry picked from commitb3a7758d8a)
This commit is contained in:
parent
fd0839de33
commit
db9e7556c3
3 changed files with 17 additions and 0 deletions
|
|
@ -10,6 +10,7 @@ Copyright (c) Corporation for National Research Initiatives.
|
|||
|
||||
#include "Python.h"
|
||||
#include "pycore_call.h" // _PyObject_CallNoArgs()
|
||||
#include "pycore_initconfig.h" // _Py_DumpPathConfig()
|
||||
#include "pycore_interp.h" // PyInterpreterState.codec_search_path
|
||||
#include "pycore_lock.h" // PyMutex
|
||||
#include "pycore_pyerrors.h" // _PyErr_FormatNote()
|
||||
|
|
@ -1504,6 +1505,8 @@ _PyCodec_InitRegistry(PyInterpreterState *interp)
|
|||
// search functions, so this is done after everything else is initialized.
|
||||
PyObject *mod = PyImport_ImportModule("encodings");
|
||||
if (mod == NULL) {
|
||||
PyThreadState *tstate = _PyThreadState_GET();
|
||||
_Py_DumpPathConfig(tstate);
|
||||
return PyStatus_Error("Failed to import encodings module");
|
||||
}
|
||||
Py_DECREF(mod);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue