o
    
j6h                     @   s  d Z ddlZddlZddlmZ ddlmZmZ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 dd
lmZ ddlmZ eeZdee dee deddfddZdee dee dee dee dee dedededededede
dededefddZdS ) z6Legacy installation process, i.e. `setup.py install`.
    N)change_root)ListOptionalSequence)BuildEnvironment)InstallationErrorLegacyInstallFailure)Scheme)
ensure_dir)make_setuptools_install_args)runner_with_spinner_message)TempDirectoryrecord_linesrootreq_descriptionreturnc                    s   dt dt f fdd}| D ]}tj|}|dr ||} n
qd|}t|g }| D ]}| }	tj|	r@|	tjj	7 }	|
tj||	| q.|  t| tj|d}
t|
d}|d	|d	  W d    d S 1 sww   Y  d S )
Npathr   c                    s"    d u s
t j| s| S t | S )N)osr   isabsr   )r   r    v/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/pip/_internal/operations/install/legacy.pyprepend_root   s   
zBwrite_installed_files_from_setuptools_record.<locals>.prepend_rootz	.egg-infoz{} did not indicate that it installed an .egg-info directory. Only setup.py projects generating .egg-info directories are supported.zinstalled-files.txtw
)strr   r   dirnameendswithformatr   stripisdirsepappendrelpathsortr
   joinopenwrite)r   r   r   r   line	directoryegg_info_dirmessage	new_linesfilenameinst_files_pathfr   r   r   ,write_installed_files_from_setuptools_record   s.   
"r0   install_optionsglobal_optionshomeprefixuse_user_site	pycompileschemesetup_py_pathisolatedreq_name	build_envunpacked_source_directoryc                 C   s4  |j }tdd}zMtj|jd}t||| |||||||	|d}td|
 }| |||d W d    n1 s;w   Y  tj|sUt	d| W W d    dS W n t
yh } zt|
d	|d }~ww t|}|  }W d    n1 s~w   Y  W d    n1 sw   Y  t||| d
S )Nrecord)kindzinstall-record.txt)
r2   r1   record_filenamer   r4   
header_dirr3   r5   no_user_configr6   zRunning setup.py install for )cmdcwdzRecord file %s not foundF)package_detailsT)headersr   r   r   r%   r   r   existsloggerdebug	Exceptionr   r&   read
splitlinesr0   )r1   r2   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r@   temp_dirr?   install_argsrunnerer/   r   r   r   r   install9   sT   
	+rP   )__doc__loggingr   distutils.utilr   typingr   r   r   pip._internal.build_envr   pip._internal.exceptionsr   r   pip._internal.models.schemer	   pip._internal.utils.miscr
   $pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   	getLogger__name__rG   r   r0   boolrP   r   r   r   r   <module>   sj    

%	
