mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-33128 Fix duplicated call to importlib._install_external_importers (GH-6273)
External importers were being added in both phases of the import system initialisation. They're only supposed to be added in the second phase, after the import machinery has been appropriately configured.
This commit is contained in:
parent
650ba4ffd1
commit
0977091dca
3 changed files with 5 additions and 5 deletions
|
@ -852,6 +852,9 @@ class SysModuleTest(unittest.TestCase):
|
|||
check(-1<<1000, [traceback[-1]])
|
||||
check(None, traceback)
|
||||
|
||||
def test_no_duplicates_in_meta_path(self):
|
||||
self.assertEqual(len(sys.meta_path), len(set(sys.meta_path)))
|
||||
|
||||
|
||||
@test.support.cpython_only
|
||||
class SizeofTest(unittest.TestCase):
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Fix a bug that causes PathFinder to appear twice on sys.meta_path. Patch by
|
||||
Pablo Galindo Salgado.
|
|
@ -325,11 +325,6 @@ initimport(PyInterpreterState *interp, PyObject *sysmod)
|
|||
|
||||
/* Install importlib as the implementation of import */
|
||||
value = PyObject_CallMethod(importlib, "_install", "OO", sysmod, impmod);
|
||||
if (value != NULL) {
|
||||
Py_DECREF(value);
|
||||
value = PyObject_CallMethod(importlib,
|
||||
"_install_external_importers", "");
|
||||
}
|
||||
if (value == NULL) {
|
||||
PyErr_Print();
|
||||
return _Py_INIT_ERR("importlib install failed");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue