diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
index c455e05..0342469 100644
--- a/Lib/email/_parseaddr.py
+++ b/Lib/email/_parseaddr.py
@@ -203,7 +203,7 @@
     front of you.
 
     Note: this class interface is deprecated and may be removed in the future.
-    Use rfc822.AddressList instead.
+    Use email.utils.AddressList instead.
     """
 
     def __init__(self, field):
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index 1b54065..bda2ae9 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -1392,7 +1392,7 @@
     """Convert date_time to IMAP4 INTERNALDATE representation.
 
     Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'.  The
-    date_time argument can be a number (int or float) represening
+    date_time argument can be a number (int or float) representing
     seconds since epoch (as returned by time.time()), a 9-tuple
     representing local time (as returned by time.localtime()), or a
     double-quoted string.  In the last case, it is assumed to already
diff --git a/Lib/packaging/pypi/dist.py b/Lib/packaging/pypi/dist.py
index dbf6459..541465e 100644
--- a/Lib/packaging/pypi/dist.py
+++ b/Lib/packaging/pypi/dist.py
@@ -427,7 +427,7 @@
         """Sort the results with the given properties.
 
         The `prefer_final` argument can be used to specify if final
-        distributions (eg. not dev, bet or alpha) would be prefered or not.
+        distributions (eg. not dev, beta or alpha) would be preferred or not.
 
         Results can be inverted by using `reverse`.
 
diff --git a/Lib/packaging/pypi/simple.py b/Lib/packaging/pypi/simple.py
index e01e033..44d98e1 100644
--- a/Lib/packaging/pypi/simple.py
+++ b/Lib/packaging/pypi/simple.py
@@ -269,7 +269,7 @@
     def _register_release(self, release=None, release_info={}):
         """Register a new release.
 
-        Both a release or a dict of release_info can be provided, the prefered
+        Both a release or a dict of release_info can be provided, the preferred
         way (eg. the quicker) is the dict one.
 
         Return the list of existing releases for the given project.
diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py
index 273185c..4fbe5b4 100644
--- a/Lib/test/test_ast.py
+++ b/Lib/test/test_ast.py
@@ -295,7 +295,7 @@
         self.assertEqual(x.body, body)
 
     def test_nodeclasses(self):
-        # Zero arguments constructor explicitely allowed
+        # Zero arguments constructor explicitly allowed
         x = ast.BinOp()
         self.assertEqual(x._fields, ('left', 'op', 'right'))
 
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 25ca0b8..5e192d5 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -3222,7 +3222,7 @@
         # style defaults to %
         self.assertIsInstance(formatter._style, logging.PercentStyle)
 
-        # level is not explicitely set
+        # level is not explicitly set
         self.assertEqual(logging.root.level, self.original_logging_level)
 
     def test_filename(self):
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index cdd1108..3c863a7 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -190,7 +190,7 @@
             os.write(fd, b'test')
             os.lseek(fd, 0, os.SEEK_SET)
             self.assertEqual(b'es', posix.pread(fd, 2, 1))
-            # the first pread() shoudn't disturb the file offset
+            # the first pread() shouldn't disturb the file offset
             self.assertEqual(b'te', posix.read(fd, 2))
         finally:
             os.close(fd)
