
    &`i-                         d Z ddlZddlZddlZddlmZ ddlmZ ej        dk    Z	de
fdZdedefd	Zdedefd
Zdedee         fdZdededej        fdZdS )z$Utils to detect runtime environment.    N)List)check_output_cmdntreturnc                      t          t          d          p.t          t          d          ot          j        t          j        k    S )Nreal_prefixbase_prefix)hasattrsysr	   prefix     }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/_private/runtime_env/virtualenv_utils.pyis_in_virtualenvr      s6    
 3&& ]##E3:(Er   
target_dirc                 B    t           j                            | d          S )zGet virtual environment path.
virtualenv)ospathjoin)r   s    r   get_virtualenv_pathr      s    7<<
L111r   c                     t          |           }t          r!t          j                            |dd          S t          j                            |dd          S )NScriptsz
python.exebinpythonr   _WIN32r   r   r   )r   virtualenv_paths     r   get_virtualenv_pythonr      sG    )*55O >w||OYEEEw||OUH===r   c                     t          |           }t          r#t          j                            |dd          g}n"dt          j                            |d          g}|ddgz   S )z0Get the command to activate virtual environment.r   zactivate.batsourcezbin/activatez1>&2z&&r   )r   r   cmds      r   get_virtualenv_activate_commandr#   $   s]    )*55O Hw||OYGGHo~FFG&$r   r   cwdloggerc           
        K   t           j        }t          j                            | d          }t          j                            | d          }t
          r+t           j        }t          j                                        }n\t          j        	                    t          j                            t          j        
                    |          d                    }i }t                      r`t          j                            t          j        
                    t                    d          }||||g}	|                    d||           n#|ddd|dd	d
d|g
}	|                    d||           t          |	|||           d{V  dS )z%Create or get a virtualenv from path.r   virtualenv_app_dataz..z_clonevirtualenv.pyzCloning virtualenv %s to %sz-mz
--app-dataz--reset-app-dataz--no-periodic-updatez--system-site-packagesz--no-downloadz0Creating virtualenv at %s, current python dir %s)r%   r$   envN)r   
executabler   r   r   r   r   environcopyabspathdirnamer   __file__infor   )
r   r$   r%   r   r   virtualenv_app_data_pathcurrent_python_dirr(   clonevirtualenvcreate_venv_cmds
             r   create_or_get_virtualenvr4   .   sw     ^Fgll466O!w||D2GHH  ZjooW__GLL00$77
 
  0
 ',,rwx'@'@BWXX	
 	13EWWWW& $"$
 	>	
 	
 	

 ?6s
L
L
LLLLLLLLLLr   )__doc__loggingr   r   typingr   ray._private.runtime_env.utilsr   namer   boolr   strr   r   r#   Loggerr4   r   r   r   <module>r=      s!   * *  				 



       ; ; ; ; ; ;	D$    2C 2C 2 2 2 2
>c >c > > > >   S	        @M @M3 @M @M @M @M @M @M @Mr   