관리-도구
편집 파일: req_install.cpython-38.pyc
U ʗRe � � @ s4 d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm Z m Z mZmZm Z mZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZm Z d dl!m"Z"m#Z# d dl$m%Z% d d l&m'Z'm(Z(m)Z)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m2Z6 d dl7m8Z9 d dl:m;Z< d dl=m>Z> d dl?m@Z@mAZA d dlBmCZC d dlDmEZE d dlFmGZGmHZH d dlImJZJ d dlKmLZLmMZMmNZNmOZOmPZPmQZQ d dlRmSZS d dlTmUZU d dlVmWZWmXZX d dlYmZZZ d d l[m\Z\ e�]e^�Z_G d!d"� d"�Z`e`ead#�d$d%�ZbdS )&� N)�Any� Collection�Dict�Iterable�List�Optional�Sequence�Union)�Marker)�Requirement)�SpecifierSet)�canonicalize_name)�Version)�parse)�Pep517HookCaller)�BuildEnvironment�NoOpBuildEnvironment)�InstallationError�LegacyInstallFailure)� get_scheme)�BaseDistribution�get_default_environment�get_directory_distribution�get_wheel_distribution)�FilesystemWheel)� DirectUrl)�Link)�generate_metadata)�generate_editable_metadata)�install_editable)�install)� install_wheel)�load_pyproject_toml�make_pyproject_path)�UninstallPathSet)� deprecated)�direct_url_for_editable�direct_url_from_link)�Hashes)�ConfiguredPep517HookCaller�ask_path_exists� backup_dir�display_path�hide_url�redact_auth_from_url�� safe_extra)�runner_with_spinner_message)� TempDirectory� tempdir_kinds)�running_under_virtualenv)�vcsc @ s� e Zd ZdZdSee eeed f eee ee ee eeee eee eeeee f eeeef ee e eedd�dd�Zed�d d �Zed�dd�Zed�d d�Zeee d�dd��Ze�� ed�dd��Zeed�dd��Zeed�dd��ZdTeee ed�dd�Zeed�dd��ZdUeed�dd�Zee d�d d!�Zeeeed"�d#d$�Z dd�d%d&�Z!dd�d'd(�Z"edd)�d*d+�Z#eed�d,d-��Z$eed�d.d/��Z%eed�d0d1��Z&eed�d2d3��Z'eed�d4d5��Z(dd�d6d7�Z)dd�d8d9�Z*dd�d:d;�Z+ee,d�d<d=��Z-e.d�d>d?�Z/dd�d@dA�Z0dVeeeddB�dCdD�Z1dd�dEdF�Z2dWeeee3 dG�dHdI�Z4eeeedJ�dKdL�Z5ee ddM�dNdO�Z6dXee ee7e ee ee ee eeeddP� dQdR�Z8dS )Y�InstallRequirementz� Represents something that may be installed later on, may have information about where to fetch the relevant requirement and also contains logic for installing the said requirement. FN� )�req� comes_from�editable�link�markers� use_pep517�isolated�install_options�global_options�hash_options�config_settings� constraint�extras� user_supplied�permit_editable_wheels�returnc C s� |d kst |t�st|��|| _|| _|| _|| _|| _d | _d | _ | jrp|sRt�|j rptj� tj�|j��| _ |d kr�|r�|jr�t|j�}| | _| _d| _d | _d | _| jr�| jj r�| jj| _| r�| | _n |r�dd� |jD �| _nt� | _|d k�r|�r|j}|| _d | _d| _d | _d | _|�r,|ng | _| �r<| ng | _ | �rL| ni | _!|| _"d| _#|| _$|| _%t&� | _'d | _(d | _)g | _*d | _+|| _,d| _-d S )NFc S s h | ]}t |��qS r7 r/ ��.0�extrar7 r7 ��/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/req/req_install.py� <setcomp>� s z.InstallRequirement.__init__.<locals>.<setcomp>).� isinstancer �AssertionErrorr8 r9 rC r: rF �legacy_install_reason� source_dir�is_file�os�path�normpath�abspath� file_path�urlr r; � original_link�original_link_is_in_wheel_cache� download_info�local_file_pathrD �set�markerr<