U
    @vg                     @   s   d 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
 ddlmZ ddlmZ dd	lmZ dd
lmZ erddlmZmZmZ ddlmZ ddlmZ eeZdd ZdS )z6Legacy installation process, i.e. `setup.py install`.
    N)change_root)
deprecated)
indent_log)
ensure_dir)make_setuptools_install_args)runner_with_spinner_message)TempDirectory)MYPY_CHECK_RUNNING)ListOptionalSequence)Scheme)InstallRequirementc	                    s  t || jdg  }t || jdg  }|j}	tdd}
tj|
jd}t| j	||| ||	||| j
|d}td| j}t & | j ||| jd W 5 Q R X W 5 Q R X tj|std	| W 5 Q R  d S d
| _t|}|  }W 5 Q R X W 5 Q R X  fdd}|D ],}tj|}|dr||} qhqtd| d| jddd d S g }|D ]@}| }tj|r|tjj7 }|tj||| qp|   t!| tj|d}t|d}|"d|d  W 5 Q R X d S )Nglobal_optionsinstall_optionsrecord)kindzinstall-record.txt)
r   r   record_filenamerootprefix
header_dirhomeuse_user_siteno_user_config	pycompilezRunning setup.py install for {})cmdcwdzRecord file %s not foundTc                    s&    d kst j| s| S t | S d S )N)ospathisabsr   )r   r    K/tmp/pip-unpacked-wheel-gw11q0wt/pip/_internal/operations/install/legacy.pyprepend_rootV   s    zinstall.<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.zfor maintainers: updating the setup.py of {0}. For users: contact the maintainers of {0} to let them know to update their setup.py.z20.2iV  )reasonreplacementgone_inissuezinstalled-files.txtw
)#listoptionsgetheadersr   r   r   joinr   setup_py_pathisolatedr   formatnamer   	build_envunpacked_source_directoryexistsloggerdebuginstall_succeededopenread
splitlinesdirnameendswithr   stripisdirsepappendrelpathsortr   write)install_reqr   r   r   r   r   r   r   schemer   temp_dirr   install_argsrunnerfrecord_linesr#   line	directoryegg_info_dir	new_linesfilenameinst_files_pathr!   r    r"   install   s    

 
rR   )__doc__loggingr   distutils.utilr   pip._internal.utils.deprecationr   pip._internal.utils.loggingr   pip._internal.utils.miscr   $pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   pip._internal.utils.typingr	   typingr
   r   r   pip._internal.models.schemer   pip._internal.req.req_installr   	getLogger__name__r6   rR   r!   r!   r!   r"   <module>   s    
