#NEWLINE# def _subprocess_env( self , step_num , step_type , task_num , working_dir , **split_kwargs ) : #NEWLINE# #INDENT# "Set up environment variables for a subprocess (mapper, etc.)\n\n        This combines, in decreasing order of priority:\n\n        * environment variables set by the **cmdenv** option\n        * **jobconf** environment variables set by our job (e.g.\n          ``mapreduce.task.ismap`)\n        * environment variables from **jobconf** options, translated to\n          whatever version of Hadoop we're emulating\n        * the current environment\n        * PYTHONPATH set to current working directory\n\n        We use :py:func:`~mrjob.conf.combine_local_envs`, so ``PATH``\n        environment variables are handled specially.\n        " #NEWLINE# user_jobconf = self . _jobconf_for_step ( step_num ) #NEWLINE# simulated_jobconf = self . _simulate_jobconf_for_step ( step_num , user_jobconf , task_num , working_dir , ** split_kwargs ) #NEWLINE# def to_env( jobconf ) : #NEWLINE# #INDENT# return dict ( ( ( k . replace ( '.' , '_' ) , str ( v ) ) for ( k , v ) in jobconf . items ( ) ) ) #NEWLINE# #UNINDENT# return combine_local_envs ( os . environ , to_env ( user_jobconf ) , to_env ( simulated_jobconf ) , self . _opts [ 'cmdenv' ] )