<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _set_options():
 """ Set the options for CleanCommand. There are a number of reasons that this has to be done in an external function instead of inline in the class. First of all, the setuptools machinery really wants the options to be defined in a class attribute - otherwise, the help command doesn't work so we need a class attribute. However, we are extending an existing command and do not want to "monkey patch" over it so we need to define a *new* class attribute with the same name that contains a copy of the base class value. This could be accomplished using some magic in ``__new__`` but I would much """

    CleanCommand.user_options = _CleanCommand.user_options[:]
    CleanCommand.user_options.extend([
        ('dist', 'd', 'remove distribution directory'),
        ('eggs', None, 'remove egg and egg-info directories'),
        ('environment', 'E', 'remove virtual environment directory'),
        ('pycache', 'p', 'remove __pycache__ directories'),

        ('egg-base=', 'e',
         'directory containing .egg-info directories '
         '(default: top of the source tree)'),
        ('virtualenv-dir=', None,
         'root directory for the virtual directory '
         '(default: value of VIRTUAL_ENV environment variable)'),
    ])
    CleanCommand.boolean_options = _CleanCommand.boolean_options[:]
    CleanCommand.boolean_options.extend(
        ['dist', 'eggs', 'environment', 'pycache'])