
    %d
                         d dl Z d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ  ee          Zd Zd	 ZdS )
    N)Utf8NamedTemporaryFile)CONDA_SESSION_SCHEMES)pip_subprocessget_pip_installed_packages)Spinner)context)	getLoggerc                    |j                             dd          d         }|t          v rd}n?	 t          j        t          j        |j                             }n# t          $ r d}Y nw xY wd}	 t          ddd|d	          }|                    d
	                    |                     |
                                 ddd|j        dg}t          || |          \  }	}
|st          j        |j                  rZdt          j        vrt          j        |j                   nt"                              d                    |j                             n|# |tt          j        |j                  r\dt          j        vrt          j        |j                   w t"                              d                    |j                             w w w xY wt)          |	          S )a  
    Installs the pip dependencies in specs using a temporary pip requirements file.

    Args
    ----
    prefix: string
      The path to the python and pip executables.

    specs: iterable of strings
      Each element should be a valid pip dependency.
      See: https://pip.pypa.io/en/stable/user_guide/#requirements-files
           https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
    z://   r   Nwz	condaenv.z.requirements.txtF)modeprefixsuffixdirdelete
installz-Uz-rz--exists-action=b)cwdCONDA_TEST_SAVE_TEMPSz:CONDA_TEST_SAVE_TEMPS :: retaining pip requirements.txt {})filesplitr   opdirnameabspathAttributeErrorr   writejoinclosenamer   isfileosenvironremovelogwarningformatr   )r   specsargs_kwargs
url_schemepip_workdirrequirementspip_cmdstdoutstderrs              8lib/python3.11/site-packages/conda_env/installers/pip.py_pip_install_via_requirementsr2      s    **1-J** 	*RZ	%:%:;;KK 	 	 	KKK	L8-35@5H2=5:	< < <
 	499U++,,, dD,*;=PQ'[III  	8	,2C(D(D 	8&bj8 8	,+,,,,X#VL$5668 8 8	  	8	,2C(D(D 	8&bj8 8	,+,,,,X#VL$5668 8 8 8		8 	8 &f---s   +A A*)A*0A1E A9Gc                      t          dt          j         ot          j         t          j                  5  t          | i |cd d d            S # 1 swxY w Y   d S )NzInstalling pip dependencies)r   r   	verbosityquietjsonr2   )r(   r*   s     r1   r   r   A   s    	.&&<w}+<
 
 > > -d=f==> > > > > > > > > > > > > > > > > >s   AAA)r!   os.pathpathr   conda.auxlib.compatr   !conda.gateways.connection.sessionr   conda_env.pip_utilr   r   conda.common.ior   conda.base.contextr   loggingr	   __name__r$   r2   r        r1   <module>rB      s    
			       6 6 6 6 6 6 C C C C C C I I I I I I I I # # # # # # & & & & & &       i-. -. -.`> > > > >rA   