code: def skip_without(*names):
      """skip a test if some names are not importable"""
  
      @decorator
      def skip_without_names(f, *args, **kwargs):
          """decorator to skip tests in the absence of numpy, etc."""
          for name in names:
              try:
                  __import__(name)
              except ImportError:
                  pytest.skip("Test requires %s" % name)
              except Exception as e:
                  warnings.warn(
                      f"Unexpected exception importing {name}: {e}"
                  )
                  pytest.skip("Test requires %s" % name)
          return f(*args, **kwargs)
  
      return skip_without_names
  
imports: import os
  import signal
  import sys
  import time
  import warnings
  from contextlib import contextmanager
  import pytest
  import zmq
  from decorator import decorator
  from ipyparallel import Client, error
  from ipyparallel.tests import add_engines, launchers
label_desc: Use image node_id 7 for calling a global function with example usage: skip_without() and returns: skip_without_names, f