관리-도구
편집 파일: candidates.cpython-39.pyc
a [��f"G � @ s� d dl Z d dlZd dlmZmZmZmZmZmZm Z m Z d dlmZm Z d dlmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZ d d lmZmZ d d lmZ d dlm Z dd l!m"Z"m#Z#m$Z$m%Z% er�ddl&m'Z' e �(e)�Z*e d Z+e ed�Z,e"ee+ d�dd�Z-eeed�dd�Z.eeed�dd�Z/eeed�dd�Z0G dd� de"�Z1G dd� de1�Z2G d d!� d!e1�Z3G d"d#� d#e"�Z4G d$d%� d%e"�Z5G d&d'� d'e"�Z6dS )(� N)� TYPE_CHECKING�Any� FrozenSet�Iterable�Optional�Tuple�Union�cast)�NormalizedName�canonicalize_name)�Version)� HashError�MetadataInconsistent)�BaseDistribution)�Link�links_equivalent)�Wheel)�install_req_from_editable�install_req_from_line)�InstallRequirement)�normalize_version_info� )� Candidate�CandidateVersion�Requirement�format_name)�Factory)�AlreadyInstalledCandidate�EditableCandidate� LinkCandidatez<Python from Requires-Python>)� candidate�returnc C s t ttf}t| |�r| S dS )z%The runtime version of BaseCandidate.N)r r r � isinstance)r Zbase_candidate_classes� r# �R/usr/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py�as_base_candidate$ s � r% )�link�templater! c C sh |j rJ d��|jr t|j�}n| j}t||j|j|j|j|j t |j|j|j d�d�}|j|_| |_|S )Nztemplate is editable��install_options�global_optionsZhashes�� user_supplied� comes_from� use_pep517�isolated� constraint�options)�editable�req�str�urlr r, r- r. r/ r0 �dictr) r* �hash_options� original_linkr&