o
    =g]
                     @   s  d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	 d dl
mZ ddlmZ ddlmZ ddlmZ g d	ZeeZed
dG dd dZdee dee	eef ddf 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e fddZdS )    N)	dataclass)	GeneratorListOptionalSequenceTuple)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r   r
   install_given_reqsT)frozenc                   @   s   e Zd ZU eed< dS )InstallationResultnameN)__name__
__module____qualname__str__annotations__ r   r   M/var/www/html/venv/lib/python3.10/site-packages/pip/_internal/req/__init__.pyr      s   
 r   requirementsreturnc                 c   s0    | D ]}|j sJ d| |j |fV  qd S )Nz%invalid to-be-installed requirement: )r   )r   reqr   r   r   _validate_requirements   s
   r   global_optionsroothomeprefixwarn_script_locationuse_user_site	pycompilec                 C   s  t t| }|rtdd|  g }	t g | D ]Y\}
}|j	rEtd|
 t  |j
dd}W d   n1 s?w   Y  nd}z|j|||||||d W n tyf   |re|jse|   w |rp|jrp|  |	t|
 qW d   |	S 1 sw   Y  |	S )zu
    Install everything in the given list.

    (to be called after having downloaded and unpacked the packages)
    z!Installing collected packages: %sz, zAttempting uninstall: %sT)auto_confirmN)r   r   r   r    r!   r"   )collectionsOrderedDictr   loggerinfojoinkeysr   itemsshould_reinstall	uninstallinstall	Exceptioninstall_succeededrollbackcommitappendr   )r   r   r   r   r   r    r!   r"   
to_install	installedreq_namerequirementuninstalled_pathsetr   r   r   r   #   sN   
	


r   )r$   loggingdataclassesr   typingr   r   r   r   r   pip._internal.utils.loggingr   req_filer
   req_installr   req_setr   __all__	getLoggerr   r&   r   r   r   boolr   r   r   r   r   <module>   sH    

	