관리-도구
편집 파일: requirements.cpython-38.pyc
U &?�f� � @ s~ d dl mZ d dlmZmZ ddlmZ ddlm Z ddl mZmZ ddl mZ ddlmZ G d d � d e�ZG dd� d�Zd S )� )�annotations)�Any�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec @ s e Zd ZdZdS )�InvalidRequirementzJ An invalid requirement was found, users should refer to PEP 508. N)�__name__� __module__�__qualname__�__doc__� r r �P/opt/hc_python/lib/python3.8/site-packages/pip/_vendor/packaging/requirements.pyr s r c @ sj e Zd ZdZddd�dd�Zddd�d d �Zdd�dd �Zdd�dd�Zdd�dd�Zddd�dd�Z dS )�Requirementz�Parse a requirement. Parse a given requirement string into its parts, such as name, specifier, URL, and extras. Raises InvalidRequirement on a badly-formed requirement string. �str�None)�requirement_string�returnc C s� zt |�}W n0 tk r< } ztt|��|�W 5 d }~X Y nX |j| _|jpNd | _t|jp\g �| _t|j �| _ d | _ |j d k r�t�t�| _ t |j �| j _d S �N)�_parse_requirementr r r �name�url�set�extrasr � specifier�markerr �__new__r �_markers)�selfr �parsed�er r r �__init__"