a
    ze3                     @   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mZ ddlm	Z	 ddgZ
dZ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   )_bundledversion	bootstrapz58.1.0z23.0.1Z
setuptoolsZpy3pipc                 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-cr   z-IT)check)sys
executableflagsisolatedinsert
subprocessrun
returncode)argsadditional_pathscodecmd r   (/usr/lib/python3.9/ensurepip/__init__.py_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>4       z7_disable_pip_configuration_settings.<locals>.<listcomp>ZPIP_CONFIG_FILE)osenvirondevnull)Zkeys_to_remover   r   r   r   #_disable_pip_configuration_settings0   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  |r2dtjd< n|s@dtjd< t  }g }tD ]v\}}	}
d	||	|
}t
t|}ttj||d}|| W d    n1 s0    Y  |tj|| qTddd	d
|g}| r|d| g7 }|r|dg7 }|r|dg7 }|r |dd|  g7 }t|dd tD  |W  d    S 1 sN0    Y  d S )Nz.Cannot use altinstall and default_pip togetherzensurepip.bootstrapr&   ZENSUREPIP_OPTIONSinstallz{}-{}-{}-none-any.whl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	   auditr!   r   r   tempfileTemporaryDirectory	_PROJECTSformatr   Zread_binaryr   openpathjoinwriteappendr   )r#   r$   r%   r&   r'   r(   Ztmpdirr   Zprojectr   Zpy_tagZ
wheel_nameZwhlfpr   r   r   r   r)   K   s:    	
(

r)   )r(   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/   r0   c                 S   s   g | ]}|d  qS r1   r   r2   r   r   r   r      r   z%_uninstall_helper.<locals>.<listcomp>)r   ImportError__version__r   printr9   r	   stderrr!   r   reversedr8   )r(   r   msgr   r   r   r   _uninstall_helper   s    
rG   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countr(   zDGive more output. Option is additive, and can be used up to 3 times.)rI   defaultdestrJ   z-Ur-   
store_trueFz8Upgrade pip and dependencies, even if already installed.)rI   rL   rJ   r.   zInstall using the user scheme.r,   z=Install everything relative to this alternate root directory.)rL   rJ   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%   r(   r&   r'   )argparseArgumentParseradd_argumentr9   r   
parse_argsr)   r#   r$   r%   r(   r&   r'   )argvrO   parserr   r   r   r   _main   sj    

rU   )N)N)r   Zos.pathr	   Zrunpyr6   r   	importlibr    r   __all__Z_SETUPTOOLS_VERSIONr   r8   r   r   r!   r   r)   rG   rU   r   r   r   r   <module>   s4   
9