<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def install_extras( include=ALL_EXTRAS, *, exclude=EMPTY_SET, raise_on_error=False, warn_on_error=True ):
 """Installs extras. Installing an extra means registering pretty printers for objects from third party libraries and/or enabling integrations with other python programs. - ``'attrs'`` - automatically pretty prints classes created using the ``attrs`` package. - ``'dataclasses'`` - automatically pretty prints classes created using the ``dataclasses`` module. - ``'django'`` - automatically pretty prints Model and QuerySet subclasses defined in your Django apps. - ``numpy`` - automatically pretty prints numpy scalars with explicit types, and, for numpy>=1.14, numpy arrays. - ``'requests'`` - automatically pretty prints Requests, Responses, Sessions, etc. - ``'ipython'`` - makes prettyprinter the default printer in the IPython shell. - ``'python'`` - makes prettyprinter the default printer in the default Python shell. - ``'ipython_repr_pretty'`` - automatically prints objects that define a ``_repr_pretty_`` method to integrate with `IPython.lib.pretty <http://ipython.readthedocs.io/en/stable/api/generated/IPython.lib.pretty.html#extending>`_. :param include: an iterable of strs representing the extras to include. All extras are included by default. :param exclude: an iterable of strs representing the extras to exclude. """
  # noqa
    include = set(include)
    exclude = set(exclude)

    unexisting_extras = (include | exclude) - ALL_EXTRAS

    if unexisting_extras:
        raise ValueError(
            "The following extras don't exist: {}".format(
                ', '.join(unexisting_extras)
            )
        )

    extras_to_install = (ALL_EXTRAS & include) - exclude

    for extra in extras_to_install:
        module_name = 'prettyprinter.extras.' + extra
        try:
            extra_module = import_module(module_name)
        except ImportError as e:
            if raise_on_error:
                raise e
            if warn_on_error:
                warnings.warn(
                    "Failed to import '{0}' PrettyPrinter extra. "
                    "If you don't need it, call install_extras with "
                    "exclude=['{0}']".format(extra)
                )
        else:
            try:
                extra_module.install()
            except Exception as exc:
                if raise_on_error:
                    raise exc
                elif warn_on_error:
                    warnings.warn(
                        "Failed to install '{0}' PrettyPrinter extra. "
                        "If you don't need it, call install_extras with "
                        "exclude=['{0}']".format(extra)
                    )