3

g                 @   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j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jdg  }t || jjdg  }|j}	tdd}
tjj|
jd}t| j	||| ||	||| j
|d}tdj| j}t & | j ||| jd W d Q R X W d Q R X tjj|stjd	| d S d
| _t|}|j j }W d Q R X W d Q R X  fdd}xR|D ](}tjj|}|jdr||}P qW tdj| dj| jddd d S g }xH|D ]@}|j }tjj|r|tjj7 }|jtjj||| qhW |j   t!| tjj|d}t|d}|j"dj|d  W d 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j|  r| S t | S d S )N)ospathisabsr   )r   )r    K/tmp/pip-unpacked-wheel-v59g9nu1/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   sr    
 

rQ   )__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__r5   rQ   r    r    r    r!   <module>   s    
