o
     JAf%                     @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ ddgZ	dZ
dZdZded	fd
ed	fgZe ddZedadd Zdd Zdad!ddZdd Zdd Zdddddd dddZdddddd dddZd dddZd!dd ZdS )"    N)	resourcesversion	bootstrap)
setuptoolspipz63.2.0z22.2.2r   Zpy3r   ZPackage)r   
wheel_name
wheel_pathZWHEEL_PKG_DIRc                 C   s   i }zt | }W n ty   d}Y nw t|}|D ]2}|ds#qtD ]}|d }||r2 nq%q||dd }t j	
| |}t|d |||< q|S )N z.whl-r   )oslistdirOSErrorsortedendswith_PACKAGE_NAMES
startswithremoveprefix	partitionpathjoin_Package)r   packages	filenamesfilenamenameprefixr   r   r	   r	   )/usr/lib/python3.10/ensurepip/__init__.py_find_packages!   s(   

r   c                     st   t d urt S i } tD ]\}}}| d| d| d}t||d | |< q
tr6tt t fddtD r6 } | a | S )Nr
   z-none-any.whlc                 3   s    | ]}| v V  qd S Nr	   ).0r   Zdir_packagesr	   r   	<genexpr>J   s    z _get_packages.<locals>.<genexpr>)	_PACKAGES	_PROJECTSr   _WHEEL_PKG_DIRr   allr   )r   r   r   Zpy_tagr   r	   r    r   _get_packages>   s   r&   c                 C   sJ   d|pg  d|  d}t jddd|g}t jjr|dd tj|d	d
jS )Nz$
import runpy
import sys
sys.path = z + sys.path
sys.argv[1:] = z>
runpy.run_module("pip", run_name="__main__", alter_sys=True)
z-Wzignore::DeprecationWarningz-c   z-IT)check)sys
executableflagsisolatedinsert
subprocessrun
returncode)argsadditional_pathscodecmdr	   r	   r   _run_pipQ   s   	r5   c                   C   s   	 t  d jS )Nr   )r&   r   r	   r	   r	   r   r   k   s   c                  C   s2   dd t jD } | D ]}t j|= q
t jt jd< d S )Nc                 S   s   g | ]	}| d r|qS )ZPIP_)r   )r   kr	   r	   r   
<listcomp>v   s    z7_disable_pip_configuration_settings.<locals>.<listcomp>ZPIP_CONFIG_FILE)r   environdevnull)Zkeys_to_remover6   r	   r	   r   #_disable_pip_configuration_settingsr   s   
r:   Frootupgradeuser
altinstalldefault_pip	verbosityc                 C   s   	 t | |||||d d S )Nr;   )
_bootstrapr;   r	   r	   r   r   ~   s
   
c              
   C   s  	 |r	|r	t dtd|  t  |rdtjd< n|s!dtjd< t }g }t 	 D ]^\}}	|	j
rDddlm}
 |	j
}t|
|}n!t|	jd}| }W d    n1 sYw   Y  tj|	j}tj||}t|d	}|| W d    n1 sw   Y  || q-dd
dd|g}| r|d| g7 }|r|dg7 }|r|dg7 }|r|dd|  g7 }tg |t|W  d    S 1 sw   Y  d S )Nz.Cannot use altinstall and default_pip togetherzensurepip.bootstrapr?   ZENSUREPIP_OPTIONSinstallr   )_bundledrbwbz--no-cache-dirz
--no-indexz--find-links--root	--upgrade--userr
   v)
ValueErrorr)   auditr:   r   r8   tempfileTemporaryDirectoryr&   itemsr   Z	ensurepiprD   r   Zread_binaryopenr   readr   basenamer   writeappendr5   r   )r<   r=   r>   r?   r@   rA   Ztmpdirr2   r   packagerD   r   Zwhlfpr   r1   r	   r	   r   rB      sH   




$rB   )rA   c                 C   s   	 zdd l }W n
 ty   Y d S w t }|j|kr+td|jd|dtjd d S t  g d}| r=|dd|   g7 }tg |t	t
S )	Nr   z2ensurepip will only uninstall a matching version (z installed, z available))file)Z	uninstallz-yz--disable-pip-version-checkr
   rJ   )r   ImportErrorr   __version__printr)   stderrr:   r5   reversedr   )rA   r   Zavailable_versionr1   r	   r	   r   _uninstall_helper   s*   
r]   c                 C   s   dd l }|jdd}|jdddt dd |jd	d
ddddd |jdddddd |jddddd |jdd dd |jddddd |jddddd || }t|j|j|j	|j
|j|jdS )Nr   zpython -m ensurepip)progz	--versionr   zpip {}z9Show the version of pip that is bundled with this Python.)actionr   helpz-vz	--verbosecountrA   zDGive more output. Option is additive, and can be used up to 3 times.)r_   defaultdestr`   z-UrH   
store_trueFz8Upgrade pip and dependencies, even if already installed.)r_   rb   r`   rI   zInstall using the user scheme.rG   z=Install everything relative to this alternate root directory.)rb   r`   z--altinstallzoMake an alternate install, installing only the X.Y versioned scripts (Default: pipX, pipX.Y, easy_install-X.Y).z--default-pipzqMake a default pip install, installing the unqualified pip and easy_install in addition to the versioned scripts.)r<   r=   r>   rA   r?   r@   )argparseArgumentParseradd_argumentformatr   
parse_argsrB   r<   r=   r>   rA   r?   r@   )argvre   parserr1   r	   r	   r   _main   sj   

rl   r   )collectionsr   Zos.pathr.   r)   Z	sysconfigrM   	importlibr   __all__r   Z_SETUPTOOLS_VERSIONZ_PIP_VERSIONr#   
namedtupler   Zget_config_varr$   r   r&   r"   r5   r   r:   r   rB   r]   rl   r	   r	   r	   r   <module>   sF    

@