
    鴀j<                        d dl mZ d dlZd dlZ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mZ d dlmZmZ d dlmZmZ e
rd d	lmZ ddZ G d de          ZdS )    )annotationsN)Iterable)TracebackType)TYPE_CHECKING)BuildEnvironmentBuildEnvironmentInstallerPrefix)VenvCreationErrorVenvImportError)TempDirectorytempdir_kinds)InstallRequirementnamestrenv_dirreturnc                :    ||d}t          j        | d|          S )N)baseplatbasevenv)schemevars)	sysconfigget_path)r   r   r   s      f/workspace/show-city-briefing-agent/.venv/lib/python3.11/site-packages/pip/_internal/build_env/venv.py_get_venv_path_from_sysconfigr      s.     D d6====    c                  8    e Zd ZdZddZddZddZddddZdS )VenvBuildEnvironmentzA venv-based build environment.	installerr   r   Nonec                   	 dd l }n# t          $ r t          w xY wt          t          j        d          j        | _        |                    t          j
        dk              }	 |                    | j                  }|                    | j                   n.# t          $ r!}t          t          |                    d }~ww xY wt           j        dk    r|j        g| _        |j        | _        nOt           j        d d         dk    r7t-          d	| j                  g| _        t-          d
| j                  | _        n t           j        dk    r't          j                            | j        dd          }net           j        j
        dk    rdnd}t          j                            | j        d| t           j        j         dt           j        j         d          }|g| _        	 |j        | _        nN# t8          $ rA t          j
        dk    rdnd}t          j                            | j        |          | _        Y nw xY w	 |j        | _        nl# t8          $ r_ 	 |j        | _        nN# t8          $ rA t          j
        dk    rdnd}	t          j                            | j        |	          | _        Y nw xY wY nw xY wi | _         || _!        t          j        "                    | j                  st          d| j                   d S )Nr   T)kindglobally_managednt)symlinks)         )r'      purelibscriptswin32Libzsite-packagespypypythonlib.Scriptsbinz
python.exez$Python executable failed to copy to )#r   ImportErrorr   r   r   	BUILD_ENVpath	_env_path
EnvBuilderosr   ensure_directoriescreateOSErrorr
   r   sysversion_infolib_pathlib_dirsbin_path	_bin_pathr   platformjoinimplementationmajorminorAttributeErrorenv_exec_cmdpython_executableenv_exe	_save_env
_installerexists)
selfr    r   envcontextelibpathr0   scripts_direxecutable_names
             r   __init__zVenvBuildEnvironment.__init__!   s!   	"KKKK 	" 	" 	"!!	" '(4
 
 

 	
 oo4o99	,,,T^<<GJJt~&&&& 	, 	, 	,#CFF+++	, w&&$-.DM$-DNNbqb!W,,:9dnUUVDM:9dnUUDNN |w&&',,t~uoNN#&#5#:f#D#D(',,NPs/5PP8H8NPP#	  %IDMK!(!1! K K K+-7d??ii!#dnk!J!JK	W%,%9D"" 	W 	W 	WW)0&&! W W W24'T//,,x)+dno)V)V&&&W	W 13#w~~d455 	#Ot7MOO  	 	sj    &4B 
C%CC(G5 5AI ?I I 
J:I)(J:)AJ41J:3J44J:9J:c                8   d dD             | _         | j        g}| j         d         x}r2|                    |                    t          j                             t          j                            t          j                            |          dd           d S )Nc                P    i | ]#}|t           j                            |d           $S N)r:   environget).0r   s     r   
<dictcomp>z2VenvBuildEnvironment.__enter__.<locals>.<dictcomp>l   s7     
 
 
15D"*..t,,
 
 
r   )PATH
PYTHONPATHr_    )	rM   rC   extendsplitr:   pathsepr[   updaterE   )rP   new_pathold_paths      r   	__enter__zVenvBuildEnvironment.__enter__i   s    
 
9O
 
 
 N#~f--8 	8OOHNN2:66777 	
2:??8#<#<BOOPPPPPr   exc_typetype[BaseException] | Noneexc_valBaseException | Noneexc_tbTracebackType | Nonec                    | j                                         D ]7\  }}|!t          j                            |d            (|t          j        |<   8d S rZ   )rM   itemsr:   r[   pop)rP   ri   rk   rm   varname	old_values         r   __exit__zVenvBuildEnvironment.__exit__w   s^     #'."6"6"8"8 	0 	0GY 
w----&/
7##		0 	0r   N)for_reqrequirementsIterable[str]prefix_as_stringr   r#   ru   InstallRequirement | Nonec                   |sd S t          | j        | j                  }| j                            ||||           d S )N)venv_executable)r#   ru   )r	   r8   rK   rN   install)rP   rv   rx   r#   ru   prefixs         r   install_requirementsz)VenvBuildEnvironment.install_requirements   sO      	F 8NOOOf4QQQQQr   )r    r   r   r!   )r   r!   )ri   rj   rk   rl   rm   rn   r   r!   )
rv   rw   rx   r   r#   r   ru   ry   r   r!   )__name__
__module____qualname____doc__rW   rh   rt   r~    r   r   r   r      s        ))F F F FPQ Q Q Q
0 
0 
0 
0$ .2R R R R R R R Rr   r   )r   r   r   r   r   r   )
__future__r   r:   r>   r   collections.abcr   typesr   typingr   pip._internal.build_env.baser   r   r	   pip._internal.exceptionsr
   r   pip._internal.utils.temp_dirr   r   pip._internal.req.req_installr   r   r   r   r   r   <module>r      sH   " " " " " " 				 



     $ $ $ $ $ $                           
 H G G G G G G G E E E E E E E E A@@@@@@> > > >sR sR sR sR sR+ sR sR sR sR sRr   