a
    )Bi[                     @   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Zd dl	m
Z
 ddgZdZi Zdd ZedZed	Zded
fd	ed
fgZ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	bootstrapz/usr/share/python3-wheels/c                 C   s   t jtd| }i t| < dD ]J}d||}t|D ].}|t|t|  }t j|t|  |< q:q t	t
t|  tjjdS )Nz{}-)z-py2.py3-none-any.whlz-py3-none-any.whlz{}*{})key)ospathjoin
_WHEEL_DIRformat_wheelsgloblenbasenamestrmax	distutilsr   ZLooseVersion)pkgprefixsuffixpatternr   Zversion_str r   */usr/lib64/python3.9/ensurepip/__init__.py_get_most_recent_wheel_version   s    r   Z
setuptoolspipZpy3c                 C   sF   d|pg  d|  d}t jd|g}t jjr6|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-c   z-IT)check)sys
executableflagsisolatedinsert
subprocessrun
returncode)argsadditional_pathscodecmdr   r   r   _run_pip(   s    r(   c                   C   s   t S )N)_PIP_VERSIONr   r   r   r   r   <   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_)
startswith).0kr   r   r   
<listcomp>F       z7_disable_pip_configuration_settings.<locals>.<listcomp>ZPIP_CONFIG_FILE)r   environdevnull)Zkeys_to_remover,   r   r   r   #_disable_pip_configuration_settingsB   s    
r1   Frootupgradeuser
altinstalldefault_pip	verbosityc                 C   s   t | |||||d d S )Nr2   )
_bootstrapr2   r   r   r   r   N   s    
c                 C   s  |r|rt dtd|  t  |r2dtjd< n|s@dtjd< t *}g }tD ]\}}	}
t	| |	 }t
tjt|dR}t
tj||d}||  W d    n1 s0    Y  W d    n1 s0    Y  |tj|| qTddd	d
|g}| r|d| g7 }|r&|dg7 }|r6|dg7 }|rN|dd|  g7 }t|dd tD  |W  d    S 1 s|0    Y  d S )Nz.Cannot use altinstall and default_pip togetherzensurepip.bootstrapr6   ZENSUREPIP_OPTIONSinstallrbwbz--no-cache-dirz
--no-indexz--find-links--root	--upgrade--user-vc                 S   s   g | ]}|d  qS r   r   r+   pr   r   r   r-      r.   z_bootstrap.<locals>.<listcomp>)
ValueErrorr   auditr1   r   r/   tempfileTemporaryDirectory	_PROJECTSr   openr   r   r	   writereadappendr(   )r3   r4   r5   r6   r7   r8   Ztmpdirr%   Zprojectr   Zpy_tagZ
wheel_nameZsfpfpr$   r   r   r   r9   ]   s4    	
J

r9   )r8   c                 C   s   zdd l }W n ty    Y d S 0 |jtkrLd}t||jttjd d S t  g d}| rp|dd|   g7 }t	|dd t
tD  S )	Nr   zOensurepip will only uninstall a matching version ({!r} installed, {!r} bundled))file)Z	uninstallz-yz--disable-pip-version-checkr@   rA   c                 S   s   g | ]}|d  qS rB   r   rC   r   r   r   r-      r.   z%_uninstall_helper.<locals>.<listcomp>)r   ImportError__version__r)   printr
   r   stderrr1   r(   reversedrI   )r8   r   msgr$   r   r   r   _uninstall_helper   s    
rV   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countr8   zDGive more output. Option is additive, and can be used up to 3 times.)rX   defaultdestrY   z-Ur>   
store_trueFz8Upgrade pip and dependencies, even if already installed.)rX   r[   rY   r?   zInstall using the user scheme.r=   z=Install everything relative to this alternate root directory.)r[   rY   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.)r3   r4   r5   r8   r6   r7   )argparseArgumentParseradd_argumentr
   r   
parse_argsr9   r3   r4   r5   r8   r6   r7   )argvr^   parserr$   r   r   r   _main   sj    

rd   )N)N)Zdistutils.versionr   r   r   Zos.pathr   ZrunpyrG   r!   	importlibr   __all__r	   r   r   Z_SETUPTOOLS_VERSIONr)   rI   r(   r   r1   r   r9   rV   rd   r   r   r   r   <module>   s<   
6