Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
diff --git a/Lib/distutils/archive_util.py b/Lib/distutils/archive_util.py
index fcda08e..ba74045 100644
--- a/Lib/distutils/archive_util.py
+++ b/Lib/distutils/archive_util.py
@@ -9,7 +9,7 @@
try:
import zipfile
-except ImportError:
+except ModuleNotFoundError:
zipfile = None
diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py
index 911e84d..bc183fc 100644
--- a/Lib/distutils/ccompiler.py
+++ b/Lib/distutils/ccompiler.py
@@ -3,7 +3,7 @@
Contains CCompiler, an abstract base class that defines the interface
for the Distutils compiler abstraction model."""
-import sys, os, re
+import importlib, sys, os, re
from distutils.errors import *
from distutils.spawn import spawn
from distutils.file_util import move_file
@@ -1013,10 +1013,9 @@
try:
module_name = "distutils." + module_name
- __import__ (module_name)
- module = sys.modules[module_name]
+ module = importlib.import_module(module_name)
klass = vars(module)[class_name]
- except ImportError:
+ except ModuleNotFoundError:
raise DistutilsModuleError(
"can't compile C/C++ code: unable to load module '%s'" % \
module_name)
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index f7fac08..11f6ff8 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -4,11 +4,11 @@
being built/installed/distributed.
"""
-import sys, os, re
+import importlib, sys, os, re
try:
import warnings
-except ImportError:
+except ModuleNotFoundError:
warnings = None
from distutils.errors import *
@@ -788,9 +788,8 @@
klass_name = command
try:
- __import__ (module_name)
- module = sys.modules[module_name]
- except ImportError:
+ module = importlib.import_module(module_name)
+ except ModuleNotFoundError:
continue
try:
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 8116656..9a94b41 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -28,7 +28,7 @@
RegEnumValue = winreg.EnumValue
RegError = winreg.error
-except ImportError:
+except ModuleNotFoundError:
try:
import win32api
import win32con
@@ -39,7 +39,7 @@
RegEnumKey = win32api.RegEnumKey
RegEnumValue = win32api.RegEnumValue
RegError = win32api.error
- except ImportError:
+ except ModuleNotFoundError:
log.info("Warning: Can't read registry to find the "
"necessary compiler setting\n"
"Make sure that Python modules winreg, "
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index a2f9544..e241f59 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -388,7 +388,7 @@
try:
from tempfile import mkstemp
(script_fd, script_name) = mkstemp(".py")
- except ImportError:
+ except ModuleNotFoundError:
from tempfile import mktemp
(script_fd, script_name) = None, mktemp(".py")
log.info("writing byte-compilation script '%s'", script_name)