<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_unity_server_env():
 """ Returns the environment for unity_server. The environment is necessary to start the unity_server by setting the proper environments for shared libraries, hadoop classpath, and module search paths for python lambda workers. The environment has 3 components: 1. CLASSPATH, contains hadoop class path 2. __GL_PYTHON_EXECUTABLE__, path to the python executable 3. __GL_PYLAMBDA_SCRIPT__, path to the lambda worker executable 4. __GL_SYS_PATH__: contains the python sys.path of the interpreter """

    env = os.environ.copy()

    # Add hadoop class path
    classpath = get_hadoop_class_path()
    if ("CLASSPATH" in env):
        env["CLASSPATH"] = env['CLASSPATH'] + (os.path.pathsep + classpath if classpath != '' else '')
    else:
        env["CLASSPATH"] = classpath

    # Add python syspath
    env['__GL_SYS_PATH__'] = (os.path.pathsep).join(sys.path + [os.getcwd()])

    # Add the python executable to the runtime config
    env['__GL_PYTHON_EXECUTABLE__'] = os.path.abspath(sys.executable)

    # Add the pylambda execution script to the runtime config
    env['__GL_PYLAMBDA_SCRIPT__'] = os.path.abspath(_pylambda_worker.__file__)

    #### Remove PYTHONEXECUTABLE ####
    # Anaconda overwrites this environment variable
    # which forces all python sub-processes to use the same binary.
    # When using virtualenv with ipython (which is outside virtualenv),
    # all subprocess launched under unity_server will use the
    # conda binary outside of virtualenv, which lacks the access
    # to all packages installed inside virtualenv.
    if 'PYTHONEXECUTABLE' in env:
        del env['PYTHONEXECUTABLE']

    # Set mxnet envvars
    if 'MXNET_CPU_WORKER_NTHREADS' not in env:
        from multiprocessing import cpu_count
        num_cpus = int(env.get('OMP_NUM_THREADS', cpu_count()))
        if sys.platform == 'darwin':
            num_workers = num_cpus
        else:
            # On Linux, BLAS doesn't seem to tolerate larger numbers of workers.
            num_workers = min(2, num_cpus)
        env['MXNET_CPU_WORKER_NTHREADS'] = str(num_workers)

    ## set local to be c standard so that unity_server will run ##
    env['LC_ALL']='C'
    # add certificate file
    if 'TURI_FILEIO_ALTERNATIVE_SSL_CERT_FILE' not in env and \
            'TURI_FILEIO_ALTERNATIVE_SSL_CERT_DIR' not in env:
        try:
            import certifi
            env['TURI_FILEIO_ALTERNATIVE_SSL_CERT_FILE'] = certifi.where()
            env['TURI_FILEIO_ALTERNATIVE_SSL_CERT_DIR'] = ""
        except:
            pass
    return env