diff --git a/Lib/test/audiotests.py b/Lib/test/audiotests.py
index e52c423..d3e8e9e 100644
--- a/Lib/test/audiotests.py
+++ b/Lib/test/audiotests.py
@@ -1,5 +1,4 @@
 from test.support import findfile, TESTFN, unlink
-import unittest
 import array
 import io
 import pickle
diff --git a/Lib/test/test__locale.py b/Lib/test/test__locale.py
index 58f2f04..ab4e247 100644
--- a/Lib/test/test__locale.py
+++ b/Lib/test/test__locale.py
@@ -4,7 +4,6 @@
 except ImportError:
     nl_langinfo = None
 
-import codecs
 import locale
 import sys
 import unittest
diff --git a/Lib/test/test__osx_support.py b/Lib/test/test__osx_support.py
index ac6325a..bcba8ca 100644
--- a/Lib/test/test__osx_support.py
+++ b/Lib/test/test__osx_support.py
@@ -4,7 +4,6 @@
 
 import os
 import platform
-import shutil
 import stat
 import sys
 import unittest
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index b4f2bf8..8fd54cc 100644
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -7,8 +7,6 @@
 import weakref
 import pickle
 import operator
-import io
-import math
 import struct
 import sys
 import warnings
diff --git a/Lib/test/test_asynchat.py b/Lib/test/test_asynchat.py
index 3a33fc8..08090b8 100644
--- a/Lib/test/test_asynchat.py
+++ b/Lib/test/test_asynchat.py
@@ -12,7 +12,6 @@
 import sys
 import time
 import unittest
-import warnings
 import unittest.mock
 try:
     import threading
diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py
index 0e54595..9488b30 100644
--- a/Lib/test/test_bigmem.py
+++ b/Lib/test/test_bigmem.py
@@ -14,7 +14,6 @@
 import unittest
 import operator
 import sys
-import functools
 
 # These tests all use one of the bigmemtest decorators to indicate how much
 # memory they use and how much memory they need to be even meaningful.  The
diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py
index e9dbddc..fc8d30f 100644
--- a/Lib/test/test_binop.py
+++ b/Lib/test/test_binop.py
@@ -2,7 +2,7 @@
 
 import unittest
 from test import support
-from operator import eq, ne, lt, gt, le, ge
+from operator import eq, le
 from abc import ABCMeta
 
 def gcd(a, b):
diff --git a/Lib/test/test_buffer.py b/Lib/test/test_buffer.py
index 2eef9fc..b83f2f1 100644
--- a/Lib/test/test_buffer.py
+++ b/Lib/test/test_buffer.py
@@ -16,7 +16,6 @@
 from test import support
 from itertools import permutations, product
 from random import randrange, sample, choice
-from sysconfig import get_config_var
 import warnings
 import sys, array, io
 from decimal import Decimal
diff --git a/Lib/test/test_codeccallbacks.py b/Lib/test/test_codeccallbacks.py
index ee1e28a..c8cdacf 100644
--- a/Lib/test/test_codeccallbacks.py
+++ b/Lib/test/test_codeccallbacks.py
@@ -4,7 +4,6 @@
 import test.support
 import unicodedata
 import unittest
-import warnings
 
 class PosReturn:
     # this can be used for configurable callbacks
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 45a1987..d875340 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -4,7 +4,6 @@
 import locale
 import sys
 import unittest
-import warnings
 import encodings
 
 from test import support
diff --git a/Lib/test/test_cprofile.py b/Lib/test/test_cprofile.py
index f18983f..53f8917 100644
--- a/Lib/test/test_cprofile.py
+++ b/Lib/test/test_cprofile.py
@@ -6,7 +6,7 @@
 # rip off all interesting stuff from test_profile
 import cProfile
 from test.test_profile import ProfileTest, regenerate_expected_output
-from test.profilee import testfunc
+
 
 class CProfileTest(ProfileTest):
     profilerclass = cProfile.Profile
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index 9095f72..e97c9f3 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -2,7 +2,6 @@
 # csv package unit tests
 
 import copy
-import io
 import sys
 import unittest
 from io import StringIO
@@ -1078,7 +1077,6 @@
              "François Pinard"]
 
     def test_unicode_read(self):
-        import io
         with TemporaryFile("w+", newline='', encoding="utf-8") as fileobj:
             fileobj.write(",".join(self.names) + "\r\n")
             fileobj.seek(0)
@@ -1087,7 +1085,6 @@
 
 
     def test_unicode_write(self):
-        import io
         with TemporaryFile("w+", newline='', encoding="utf-8") as fileobj:
             writer = csv.writer(fileobj)
             writer.writerow(self.names)
diff --git a/Lib/test/test_dbm_gnu.py b/Lib/test/test_dbm_gnu.py
index a7808f5..304b332 100644
--- a/Lib/test/test_dbm_gnu.py
+++ b/Lib/test/test_dbm_gnu.py
@@ -2,7 +2,7 @@
 gdbm = support.import_module("dbm.gnu") #skip if not supported
 import unittest
 import os
-from test.support import verbose, TESTFN, unlink
+from test.support import TESTFN, unlink
 
 
 filename = TESTFN
diff --git a/Lib/test/test_dbm_ndbm.py b/Lib/test/test_dbm_ndbm.py
index 13e31f2..49f4426 100644
--- a/Lib/test/test_dbm_ndbm.py
+++ b/Lib/test/test_dbm_ndbm.py
@@ -1,7 +1,6 @@
 from test import support
 support.import_module("dbm.ndbm") #skip if not supported
 import unittest
-import random
 import dbm.ndbm
 from dbm.ndbm import error
 
diff --git a/Lib/test/test_devpoll.py b/Lib/test/test_devpoll.py
index d1933e2..c133c81 100644
--- a/Lib/test/test_devpoll.py
+++ b/Lib/test/test_devpoll.py
@@ -6,7 +6,7 @@
 import random
 import select
 import unittest
-from test.support import TESTFN, run_unittest, cpython_only
+from test.support import run_unittest, cpython_only
 
 if not hasattr(select, 'devpoll') :
     raise unittest.SkipTest('test works only on Solaris OS family')
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
index f7c4806..b9bd135 100644
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -1876,7 +1876,6 @@
         To demonstrate this, we'll create a fake standard input that
         captures our debugger input:
 
-          >>> import tempfile
           >>> real_stdin = sys.stdin
           >>> sys.stdin = _FakeInput([
           ...    'print(x)',  # print data defined by the example
@@ -1917,7 +1916,7 @@
           ... finally:
           ...     sys.stdin = real_stdin
           --Return--
-          > <doctest test.test_doctest.test_pdb_set_trace[8]>(3)calls_set_trace()->None
+          > <doctest test.test_doctest.test_pdb_set_trace[7]>(3)calls_set_trace()->None
           -> import pdb; pdb.set_trace()
           (Pdb) print(y)
           2
@@ -2804,7 +2803,6 @@
     ...         _ = f.write("       'abc def'\n")
     ...         _ = f.write("\n")
     ...         _ = f.write('   \"\"\"\n')
-    ...     import shutil
     ...     rc1, out1, err1 = script_helper.assert_python_failure(
     ...             '-m', 'doctest', fn, fn2, TERM='')
     ...     rc2, out2, err2 = script_helper.assert_python_ok(
diff --git a/Lib/test/test_dynamic.py b/Lib/test/test_dynamic.py
index 5080ec9..3ae090f 100644
--- a/Lib/test/test_dynamic.py
+++ b/Lib/test/test_dynamic.py
@@ -1,7 +1,6 @@
 # Test the most dynamic corner cases of Python's runtime semantics.
 
 import builtins
-import contextlib
 import unittest
 
 from test.support import swap_item, swap_attr
diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py
index 894b800..af3fb85 100644
--- a/Lib/test/test_email/test_email.py
+++ b/Lib/test/test_email/test_email.py
@@ -3421,7 +3421,6 @@
 class TestFeedParsers(TestEmailBase):
 
     def parse(self, chunks):
-        from email.feedparser import FeedParser
         feedparser = FeedParser()
         for chunk in chunks:
             feedparser.feed(chunk)
diff --git a/Lib/test/test_email/test_headerregistry.py b/Lib/test/test_email/test_headerregistry.py
index 55ecdea..af836dc 100644
--- a/Lib/test/test_email/test_headerregistry.py
+++ b/Lib/test/test_email/test_headerregistry.py
@@ -1,7 +1,6 @@
 import datetime
 import textwrap
 import unittest
-import types
 from email import errors
 from email import policy
 from email.message import Message
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 48f7a70..2e187ac 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -1,6 +1,5 @@
 
 import fractions
-import math
 import operator
 import os
 import random
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index ccef422..730b628 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -5,7 +5,6 @@
 
 import os
 import re
-import pprint
 import subprocess
 import sys
 import sysconfig
diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py
index 3a94383..d345baa 100644
--- a/Lib/test/test_gettext.py
+++ b/Lib/test/test_gettext.py
@@ -1,6 +1,5 @@
 import os
 import base64
-import shutil
 import gettext
 import unittest
 
diff --git a/Lib/test/test_idle.py b/Lib/test/test_idle.py
index 141e89e..0b34e97 100644
--- a/Lib/test/test_idle.py
+++ b/Lib/test/test_idle.py
@@ -1,5 +1,4 @@
 import unittest
-from test import support
 from test.support import import_module
 
 # Skip test if _thread or _tkinter wasn't built or idlelib was deleted.
diff --git a/Lib/test/test_importlib/extension/test_path_hook.py b/Lib/test/test_importlib/extension/test_path_hook.py
index 8829de3..a4b5a64 100644
--- a/Lib/test/test_importlib/extension/test_path_hook.py
+++ b/Lib/test/test_importlib/extension/test_path_hook.py
@@ -2,7 +2,6 @@
 
 machinery = util.import_importlib('importlib.machinery')
 
-import collections
 import unittest
 
 
diff --git a/Lib/test/test_importlib/import_/test_packages.py b/Lib/test/test_importlib/import_/test_packages.py
index 3755b84..2439604 100644
--- a/Lib/test/test_importlib/import_/test_packages.py
+++ b/Lib/test/test_importlib/import_/test_packages.py
@@ -1,7 +1,6 @@
 from .. import util
 import sys
 import unittest
-import importlib
 from test import support
 
 
diff --git a/Lib/test/test_importlib/test_locks.py b/Lib/test/test_importlib/test_locks.py
index df0af12..b2aadff 100644
--- a/Lib/test/test_importlib/test_locks.py
+++ b/Lib/test/test_importlib/test_locks.py
@@ -3,7 +3,6 @@
 init = test_util.import_importlib('importlib')
 
 import sys
-import time
 import unittest
 import weakref
 
diff --git a/Lib/test/test_importlib/test_namespace_pkgs.py b/Lib/test/test_importlib/test_namespace_pkgs.py
index cb49f19..116eb75 100644
--- a/Lib/test/test_importlib/test_namespace_pkgs.py
+++ b/Lib/test/test_importlib/test_namespace_pkgs.py
@@ -1,9 +1,6 @@
 import contextlib
-import importlib.abc
-import importlib.machinery
 import os
 import sys
-import types
 import unittest
 
 from test.test_importlib import util
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 0991f74..1f30fa6 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -7,17 +7,12 @@
 import email.message
 import re
 import io
-import shutil
 import tempfile
 from test import support
 import unittest
 import textwrap
 import mailbox
 import glob
-try:
-    import fcntl
-except ImportError:
-    pass
 
 
 class TestBase:
diff --git a/Lib/test/test_mailcap.py b/Lib/test/test_mailcap.py
index 22b2fcc..623fadb 100644
--- a/Lib/test/test_mailcap.py
+++ b/Lib/test/test_mailcap.py
@@ -1,6 +1,5 @@
 import mailcap
 import os
-import shutil
 import test.support
 import unittest
 
diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py
index 6c7b99d..d0bc790 100644
--- a/Lib/test/test_math.py
+++ b/Lib/test/test_math.py
@@ -6,7 +6,6 @@
 import unittest
 import math
 import os
-import platform
 import sys
 import struct
 import sysconfig
diff --git a/Lib/test/test_multiprocessing_main_handling.py b/Lib/test/test_multiprocessing_main_handling.py
index 52273ea..2e15cd8 100644
--- a/Lib/test/test_multiprocessing_main_handling.py
+++ b/Lib/test/test_multiprocessing_main_handling.py
@@ -6,7 +6,6 @@
 
 import importlib
 import importlib.machinery
-import zipimport
 import unittest
 import sys
 import os
@@ -15,7 +14,7 @@
 
 from test.support.script_helper import (
     make_pkg, make_script, make_zip_pkg, make_zip_script,
-    assert_python_ok, assert_python_failure, spawn_python, kill_python)
+    assert_python_ok)
 
 # Look up which start methods are available to test
 import multiprocessing
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
index 35044ad..2cddd57 100644
--- a/Lib/test/test_pdb.py
+++ b/Lib/test/test_pdb.py
@@ -558,7 +558,6 @@
 
 def pdb_invoke(method, arg):
     """Run pdb.method(arg)."""
-    import pdb
     getattr(pdb.Pdb(nosigint=True), method)(arg)
 
 
diff --git a/Lib/test/test_pep352.py b/Lib/test/test_pep352.py
index 7c98c46..27d514f 100644
--- a/Lib/test/test_pep352.py
+++ b/Lib/test/test_pep352.py
@@ -1,6 +1,5 @@
 import unittest
 import builtins
-import warnings
 import os
 from platform import system as platform_system
 
diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py
index 80221f0..86bebfa 100644
--- a/Lib/test/test_pickletools.py
+++ b/Lib/test/test_pickletools.py
@@ -1,4 +1,3 @@
-import struct
 import pickle
 import pickletools
 from test import support
diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
index f0e9e5a..12d92fa 100644
--- a/Lib/test/test_plistlib.py
+++ b/Lib/test/test_plistlib.py
@@ -7,7 +7,6 @@
 import codecs
 import binascii
 import collections
-import struct
 from test import support
 from io import BytesIO
 
diff --git a/Lib/test/test_poplib.py b/Lib/test/test_poplib.py
index bceeb93..7b9606d 100644
--- a/Lib/test/test_poplib.py
+++ b/Lib/test/test_poplib.py
@@ -8,7 +8,6 @@
 import asynchat
 import socket
 import os
-import time
 import errno
 
 from unittest import TestCase, skipUnless
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 28cdd90..6a1c829 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -11,7 +11,6 @@
 import os
 import platform
 import pwd
-import shutil
 import stat
 import tempfile
 import unittest
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index 8b3ce70..26faa48 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -1,4 +1,3 @@
-import itertools
 import os
 import posixpath
 import unittest
diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
index 213853f..c11408d 100644
--- a/Lib/test/test_regrtest.py
+++ b/Lib/test/test_regrtest.py
@@ -4,10 +4,8 @@
 Note: test_regrtest cannot be run twice in parallel.
 """
 
-import argparse
 import contextlib
 import faulthandler
-import getopt
 import io
 import os.path
 import platform
diff --git a/Lib/test/test_robotparser.py b/Lib/test/test_robotparser.py
index 90b3072..76f4f7c 100644
--- a/Lib/test/test_robotparser.py
+++ b/Lib/test/test_robotparser.py
@@ -2,8 +2,6 @@
 import unittest
 import urllib.robotparser
 from collections import namedtuple
-from urllib.error import URLError, HTTPError
-from urllib.request import urlopen
 from test import support
 from http.server import BaseHTTPRequestHandler, HTTPServer
 try:
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 982a976..a7cc1e7 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -13,7 +13,6 @@
 import sys
 import os
 import array
-import platform
 import contextlib
 from weakref import proxy
 import signal
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index 554c106..01ac12b 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -7,8 +7,6 @@
 import select
 import signal
 import socket
-import select
-import errno
 import tempfile
 import unittest
 import socketserver
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 7f70fd0..786b8cf 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -5,15 +5,12 @@
 import sys
 import signal
 import io
-import locale
 import os
 import errno
 import tempfile
 import time
-import re
 import selectors
 import sysconfig
-import warnings
 import select
 import shutil
 import gc
diff --git a/Lib/test/test_sunau.py b/Lib/test/test_sunau.py
index 0f4134e..bc1f46c 100644
--- a/Lib/test/test_sunau.py
+++ b/Lib/test/test_sunau.py
@@ -1,4 +1,3 @@
-from test.support import TESTFN
 import unittest
 from test import audiotests
 from audioop import byteswap
diff --git a/Lib/test/test_telnetlib.py b/Lib/test/test_telnetlib.py
index 610377a..69a9ce2 100644
--- a/Lib/test/test_telnetlib.py
+++ b/Lib/test/test_telnetlib.py
@@ -1,7 +1,6 @@
 import socket
 import selectors
 import telnetlib
-import time
 import contextlib
 
 from test import support
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 71df14c..0e70016 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -3,7 +3,7 @@
 """
 
 import test.support
-from test.support import verbose, strip_python_stderr, import_module, cpython_only
+from test.support import verbose, import_module, cpython_only
 from test.support.script_helper import assert_python_ok, assert_python_failure
 
 import random
diff --git a/Lib/test/test_tools/test_gprof2html.py b/Lib/test/test_tools/test_gprof2html.py
index 0c294ec..9489ed9 100644
--- a/Lib/test/test_tools/test_gprof2html.py
+++ b/Lib/test/test_tools/test_gprof2html.py
@@ -2,12 +2,11 @@
 
 import os
 import sys
-import importlib
 import unittest
 from unittest import mock
 import tempfile
 
-from test.test_tools import scriptsdir, skip_if_missing, import_tool
+from test.test_tools import skip_if_missing, import_tool
 
 skip_if_missing()
 
diff --git a/Lib/test/test_tools/test_md5sum.py b/Lib/test/test_tools/test_md5sum.py
index e6c83fb..fb565b7 100644
--- a/Lib/test/test_tools/test_md5sum.py
+++ b/Lib/test/test_tools/test_md5sum.py
@@ -5,7 +5,7 @@
 from test import support
 from test.support.script_helper import assert_python_ok, assert_python_failure
 
-from test.test_tools import scriptsdir, import_tool, skip_if_missing
+from test.test_tools import scriptsdir, skip_if_missing
 
 skip_if_missing()
 
diff --git a/Lib/test/test_tools/test_pdeps.py b/Lib/test/test_tools/test_pdeps.py
index 0097623..27cbfe2 100644
--- a/Lib/test/test_tools/test_pdeps.py
+++ b/Lib/test/test_tools/test_pdeps.py
@@ -4,7 +4,7 @@
 import unittest
 import tempfile
 
-from test.test_tools import scriptsdir, skip_if_missing, import_tool
+from test.test_tools import skip_if_missing, import_tool
 
 skip_if_missing()
 
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 008c751..df8a891 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -462,7 +462,7 @@
         self.requests = []
 
     def http_open(self, req):
-        import email, http.client, copy
+        import email, copy
         self.requests.append(copy.deepcopy(req))
         if self._count == 0:
             self._count = self._count + 1
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index 35dce2c..7152822 100644
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -1,7 +1,6 @@
 # UserString is a wrapper around the native builtin string type.
 # UserString instances should behave similar to builtin string objects.
 
-import string
 import unittest
 from test import string_tests
 
diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py
index 25fffbf..ad2f2c5 100644
--- a/Lib/test/test_uu.py
+++ b/Lib/test/test_uu.py
@@ -8,7 +8,6 @@
 
 import sys, os
 import uu
-from io import BytesIO
 import io
 
 plaintext = b"The smooth-scaled python crept over the sleeping dog\n"
diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py
index 55bee23..a2842b0 100644
--- a/Lib/test/test_venv.py
+++ b/Lib/test/test_venv.py
@@ -15,7 +15,6 @@
 import tempfile
 from test.support import (captured_stdout, captured_stderr,
                           can_symlink, EnvironmentVarGuard, rmtree)
-import textwrap
 import unittest
 import venv
 
diff --git a/Lib/test/test_wave.py b/Lib/test/test_wave.py
index a67a8b0..8666f72 100644
--- a/Lib/test/test_wave.py
+++ b/Lib/test/test_wave.py
@@ -1,4 +1,3 @@
-from test.support import TESTFN
 import unittest
 from test import audiotests
 from test import support
diff --git a/Lib/test/test_weakset.py b/Lib/test/test_weakset.py
index 3e1f4c8..691b95e 100644
--- a/Lib/test/test_weakset.py
+++ b/Lib/test/test_weakset.py
@@ -1,11 +1,6 @@
 import unittest
-from weakref import proxy, ref, WeakSet
-import operator
-import copy
+from weakref import WeakSet
 import string
-from random import randrange, shuffle
-import warnings
-import collections
 from collections import UserString as ustr
 import gc
 import contextlib
diff --git a/Lib/test/test_xml_etree_c.py b/Lib/test/test_xml_etree_c.py
index cd5fd6c..87f3f27 100644
--- a/Lib/test/test_xml_etree_c.py
+++ b/Lib/test/test_xml_etree_c.py
@@ -108,7 +108,7 @@
                              struct.calcsize('8P'))
 
 def test_main():
-    from test import test_xml_etree, test_xml_etree_c
+    from test import test_xml_etree
 
     # Run the tests specific to the C implementation
     support.run_unittest(
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index cfb5964..59f9c32 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -1132,7 +1132,6 @@
     """A variation on support.captured_stdout() which gives a text stream
     having a `buffer` attribute.
     """
-    import io
     orig_stdout = sys.stdout
     sys.stdout = io.TextIOWrapper(io.BytesIO(), encoding=encoding)
     try:
diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py
index 1771db5..ae0a28e 100644
--- a/Lib/test/test_xmlrpc_net.py
+++ b/Lib/test/test_xmlrpc_net.py
@@ -1,6 +1,4 @@
 import collections.abc
-import errno
-import socket
 import unittest
 from test import support
 
diff --git a/Lib/test/test_zipimport_support.py b/Lib/test/test_zipimport_support.py
index 5913622..84d526c 100644
--- a/Lib/test/test_zipimport_support.py
+++ b/Lib/test/test_zipimport_support.py
@@ -12,7 +12,6 @@
 import doctest
 import inspect
 import linecache
-import pdb
 import unittest
 from test.support.script_helper import (spawn_python, kill_python, assert_python_ok,
                                         make_script, make_zip_script)
