diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index e09562d..c0ffded 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -42,6 +42,11 @@
       be used for this purpose.
 
 
+.. testsetup::
+
+   import configparser
+
+
 Quick Start
 -----------
 
@@ -95,7 +100,6 @@
 
 .. doctest::
 
-   >>> import configparser
    >>> config = configparser.ConfigParser()
    >>> config.sections()
    []
@@ -116,8 +120,8 @@
    'no'
    >>> topsecret['Port']
    '50022'
-   >>> for key in config['bitbucket.org']: print(key)
-   ...
+   >>> for key in config['bitbucket.org']:  # doctest: +SKIP
+   ...     print(key)
    user
    compressionlevel
    serveraliveinterval
@@ -469,9 +473,9 @@
      ...                                'bar': 'y',
      ...                                'baz': 'z'}
      ... })
-     >>> parser.sections()
+     >>> parser.sections()  # doctest: +SKIP
      ['section3', 'section2', 'section1']
-     >>> [option for option in parser['section3']]
+     >>> [option for option in parser['section3']] # doctest: +SKIP
      ['baz', 'foo', 'bar']
 
   In these operations you need to use an ordered dictionary as well:
@@ -498,11 +502,11 @@
      ...     ),
      ...   ))
      ... )
-     >>> parser.sections()
+     >>> parser.sections()  # doctest: +SKIP
      ['s1', 's2']
-     >>> [option for option in parser['s1']]
+     >>> [option for option in parser['s1']]  # doctest: +SKIP
      ['1', '3', '5']
-     >>> [option for option in parser['s2'].values()]
+     >>> [option for option in parser['s2'].values()]  # doctest: +SKIP
      ['b', 'd', 'f']
 
 * *allow_no_value*, default value: ``False``
@@ -597,11 +601,11 @@
     ...   line #3
     ... """)
     >>> print(parser['hashes']['shebang'])
-
+    <BLANKLINE>
     #!/usr/bin/env python
     # -*- coding: utf-8 -*-
     >>> print(parser['hashes']['extensions'])
-
+    <BLANKLINE>
     enabled_extension
     another_extension
     yet_another_extension
@@ -755,6 +759,7 @@
 
   .. doctest::
 
+     >>> import re
      >>> config = """
      ... [Section 1]
      ... option = value
@@ -762,11 +767,11 @@
      ... [  Section 2  ]
      ... another = val
      ... """
-     >>> typical = ConfigParser()
+     >>> typical = configparser.ConfigParser()
      >>> typical.read_string(config)
      >>> typical.sections()
      ['Section 1', '  Section 2  ']
-     >>> custom = ConfigParser()
+     >>> custom = configparser.ConfigParser()
      >>> custom.SECTCRE = re.compile(r"\[ *(?P<header>[^]]+?) *\]")
      >>> custom.read_string(config)
      >>> custom.sections()
diff --git a/Doc/library/copyreg.rst b/Doc/library/copyreg.rst
index eeabb4c..40fca56 100644
--- a/Doc/library/copyreg.rst
+++ b/Doc/library/copyreg.rst
@@ -59,7 +59,7 @@
    ...
    >>> copyreg.pickle(C, pickle_c)
    >>> c = C(1)
-   >>> d = copy.copy(c)
+   >>> d = copy.copy(c)  # doctest: +SKIP
    pickling a C instance...
-   >>> p = pickle.dumps(c)
+   >>> p = pickle.dumps(c)  # doctest: +SKIP
    pickling a C instance...
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index 3840935..4ab8535 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1406,8 +1406,10 @@
 shared library can be accessed as attributes or by index.  Please note that
 accessing the function through an attribute caches the result and therefore
 accessing it repeatedly returns the same object each time.  On the other hand,
-accessing it through an index returns a new object each time:
+accessing it through an index returns a new object each time::
 
+   >>> from ctypes import CDLL
+   >>> libc = CDLL("libc.so.6")  # On Linux
    >>> libc.time == libc.time
    True
    >>> libc['time'] == libc['time']
