Python: Fix ImportError in imp.py under Python 3.14

It seems `_ERR_MSG` was silently removed in Python 3.14, leading to an
`ImportError` when running the extractor.

To fix this, we explicitly set `_ERR_MSG` when the existing import fails
(using `_ERR_MSG_PREFIX` which is available in Python 3.14+, along with
the bits that make up the difference between this and `_ERR_MSG`).
This commit is contained in:
Taus
2025-10-13 13:50:43 +00:00
parent e65f8eacbc
commit c4b27d5f28
3 changed files with 13 additions and 2 deletions

View File

@@ -17,9 +17,16 @@ except ImportError:
# Platform doesn't support dynamic loading.
create_dynamic = None
from importlib._bootstrap import _ERR_MSG, _exec, _load, _builtin_from_name
from importlib._bootstrap import _exec, _load, _builtin_from_name
from importlib._bootstrap_external import SourcelessFileLoader
# In Python 3.14, `_ERR_MSG` was removed in favor of `_ERR_MSG_PREFIX`.
try:
from importlib._bootstrap import _ERR_MSG
except ImportError:
from importlib._bootstrap import _ERR_MSG_PREFIX
_ERR_MSG = _ERR_MSG_PREFIX + '{name!r}'
from importlib import machinery
from importlib import util
import importlib