관리-도구
편집 파일: resolver.cpython-38.pyc
U &?�f01 � @ s� d dl Z d dlZd dlZd dlZd dlmZmZmZmZm Z m Z mZ d dlm Z d dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dlmZ d dlm Z d d l!m"Z"m#Z# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z* ddl+m,Z,m-Z- ddl.m/Z/ e�r4d dl0m1Z2 e2e-e,e3f Z1e�4e5�Z6G dd� de"�Zde e3 eee3 e7f d�dd�Z8e e3ef eee3 e7f e e7e3f d�dd�Z9dS )� N)� TYPE_CHECKING�Dict�List�Optional�Set�Tuple�cast��canonicalize_name)�BaseReporter�ResolutionImpossible)�Resolver)� DirectedGraph)� WheelCache)� PackageFinder)�RequirementPreparer)�install_req_extend_extras)�InstallRequirement)�RequirementSet)�BaseResolver�InstallRequirementProvider)�PipProvider)�PipDebuggingReporter�PipReporter)�get_requirement� )� Candidate�Requirement)�Factory)�Resultc s| e Zd ZdddhZdeeee ee e e e e e eeedf d�� fdd� Z ee e ed �d d�Zeee d�d d�Z� ZS )r �eagerzonly-if-neededzto-satisfy-onlyN.)�preparer�finder�wheel_cache�make_install_req� use_user_site�ignore_dependencies�ignore_installed�ignore_requires_python�force_reinstall�upgrade_strategy�py_version_infoc sJ t � �� | | jkst�t|||||| |||d� | _|| _| | _d | _d S )N) r"