관리-도구
편집 파일: constructors.cpython-310.pyc
o ƚRe�; � @ s d Z ddlZddlZddlZddlmZmZmZmZm Z m Z ddlmZ ddl mZmZ ddlmZ ddlmZmZ ddlmZ dd lmZmZ dd lmZ ddlmZ ddlmZ dd l m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+m,Z, g d�Z-e�.e/�Z0ej1�2� Z3de4de e4ee4 f fdd�Z5dee4 dee4 fdd�Z6de4de ee4 e4ee4 f fdd�Z7de4de4fdd �Z8G d!d"� d"�Z9de4de9fd#d$�Z: % % % %dCde4d&ee e!e4f d'ee; d(e;d)eee4ef d*e;d+e;d,e;de!fd-d.�Z<d/e4de;fd0d1�Z=de4d/e4dee4 fd2d3�Z>d/e4d4ee4 de9fd5d6�Z? % % %dDd/e4d&ee e4e!f d'ee; d(e;d)eee4ef d*e;d4ee4 d+e;de!fd7d8�Z@ % %dEd9e4d&ee! d(e;d'ee; d+e;de!fd:d;�ZA % %dFd<ed(e;d'ee; d+e;de!f d=d>�ZBd?ed@e!de!fdAdB�ZCdS )Ga~ Backing implementation for InstallRequirement's various constructors The idea here is that these formed a major chunk of InstallRequirement's size so, moving them and support code dedicated to them outside of that class helps creates for better understandability for the rest of the code. These are meant to be used elsewhere within pip to create instances of InstallRequirement. � N)�Any�Dict�Optional�Set�Tuple�Union)�Marker)�InvalidRequirement�Requirement)� Specifier)�RequirementParseError�parse_requirements)�InstallationError)�PyPI�TestPyPI)�Link)�Wheel)�ParsedRequirement)�InstallRequirement)�is_archive_file)�is_installable_dir)�get_requirement)�path_to_url)�is_url�vcs)�install_req_from_editable�install_req_from_line�parse_editable�path�returnc C s<