Issue #13959: Re-implement imp.NullImporter in Lib/imp.py.
diff --git a/Lib/imp.py b/Lib/imp.py
index 0388d08..2abd7af 100644
--- a/Lib/imp.py
+++ b/Lib/imp.py
@@ -14,8 +14,6 @@
 from _imp import get_magic, get_tag
 # Can (probably) move to importlib
 from _imp import get_suffixes
-# Should be re-implemented here (and mostly deprecated)
-from _imp import NullImporter
 
 from importlib._bootstrap import _new_module as new_module
 from importlib._bootstrap import _cache_from_source as cache_from_source
@@ -60,6 +58,21 @@
     return os.path.join(head, base_filename + _bootstrap.SOURCE_SUFFIXES[0])
 
 
+class NullImporter:
+
+    """Null import object."""
+
+    def __init__(self, path):
+        if path == '':
+            raise ImportError('empty pathname', path='')
+        elif os.path.isdir(path):
+            raise ImportError('existing directory', path=path)
+
+    def find_module(self, fullname):
+        """Always returns None."""
+        return None
+
+
 class _HackedGetData:
 
     """Compatibiilty support for 'file' arguments of various load_*()