
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr  SS
K
Jr  SSKJr  \R                    " S S\R"                  5      5       rg)z)Command to create virtualenv environment.    )absolute_import)division)unicode_literals)base)
exceptions)util)config)execution_utils)log)filesc                   .    \ rS rSrSr\S 5       rS rSrg)Create   a\  Create a virtualenv environment.

Create a virtual env context for gcloud to run in. Installs several
python modules into the virtual environment. The virtual env environment
can be inspected via the `{parent_command} describe` command. Note this
command does not enable the virtualenv environment, you must run
`{parent_command} enable` to do so.
c                 $    U R                  SSS9  g)zAdds args for this command.z--python-to-usez5Absolute path to python to use to create virtual env.)helpN)add_argument)parsers    'lib/surface/config/virtualenv/create.pyArgsCreate.Args)   s     D  F    c                    [         R                  " 5       (       a@  UR                  S5      (       d*  [        R                  " S5        [
        R                  " SS9e[         R                  " 5       (       a*  [        R                  " S5        [
        R                  " SS9eUR                  S5      (       a  UR                  nO [        R                  " 5       n[        R                  " 5       R                  n[         R                  " U5      (       a9  [        R                  " S	R!                  U5      5        [
        R                  " SS9eS
n [        R"                  R%                  S5        [        R&                  " USSU/S[        R(                  R*                  [        R(                  R*                  S9nUS:w  aI  [        R&                  " SSSX#/SS9nUS:w  a*  [        R                  " S5        [
        R                  " US9e[        R"                  R%                  S5        SR!                  U5      SSSR!                  U5      SS/nUR-                  [         R.                  5        [        R&                  " USS9nUS:X  a  SnO*[        R                  " S5        [
        R                  " US9e U(       d3  [         R                  " U5      (       a  [0        R2                  " U5        g g g ! [         a+    [        R                  " S5        [
        R                  " SS9ef = f! U(       d3  [         R                  " U5      (       a  [0        R2                  " U5        f f f = f)Npython_to_usez&Virtual env support requires Python 3.   )	exit_codez+Virtual env support not enabled on Windows.   z0Failed to resolve python to use for virtual env.   z$Virtual env setup {} already exists.FzCreating virtualenv...z-mvenvT)no_exiterr_funcout_funcr   
virtualenvz-qz-p)r   zVirtual env setup failed.zInstalling modules...z{}/bin/pip3installz--logz{}/install_module.logz--disable-pip-version-check)r   IsPy2IsSpecifiedr   errorr   ExitCodeNoError	IsWindowsr   r
   GetPythonExecutable
ValueErrorr	   Pathsvirtualenv_dirVirtualEnvExistsformatstatusPrintExecfile_only_loggerdebugextendMODULESr   RmTree)selfargspythonve_dirsucceeded_making_venvecinstall_moduless          r   Run
Create.Run0   s   zz||D,,_==	ii89&&33~~	ii=>&&33((!!f6 446
 \\^**FV$$	ii6==fEF&&33!$	jj/0 vv >(,),)=)=)C)C),)=)=)C)CEb 
q
 !!<tV"L*.07
))/
0**R8
8	jj./


v
&	7
!
(
(
0$
'o
 T\\*>b	q $		-.((266 	 #  ((
,,v
 ) #Y  6		DE((1556X #  ((
,,v
 ) #s   K/ E%L' /5L$'<M# N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r>   __static_attributes__r@   r   r   r   r      s"     F F:r   r   N)rE   
__future__r   r   r   googlecloudsdk.callioper   r   ,googlecloudsdk.command_lib.config.virtualenvr   googlecloudsdk.corer	   r
   r   googlecloudsdk.core.utilr   HiddenCommandr   r@   r   r   <module>rO      sN    0 &  ' ( . = & / # * KT\\ K Kr   