관리-도구
편집 파일: base.cpython-38.pyc
U &?�f� � @ sX d dl Z d dlmZmZ d dlmZ d dlmZ er@d dlm Z G dd� de j d�ZdS ) � N)� TYPE_CHECKING�Optional)�BaseDistribution)�InstallRequirement)� PackageFinderc sn e Zd ZdZedd�� fdd�Zejee d�dd��Z ejed�d d ��Z ejdeedd�d d��Z� ZS )�AbstractDistributiona� A base class for handling installable artifacts. The requirements for anything installable are as follows: - we must be able to determine the requirement name (or we can't correctly handle the non-upgrade case). - for packages with setup requirements, we must also be able to determine their requirements without installing additional packages (for the same reason as run-time dependencies) - we must be able to create a Distribution object exposing the above metadata. - if we need to do work in the build tracker, we must be able to generate a unique string to identify the requirement in the build tracker. N)�req�returnc s t � �� || _d S �N)�super�__init__r )�selfr �� __class__� �N/opt/hc_python/lib/python3.8/site-packages/pip/_internal/distributions/base.pyr s zAbstractDistribution.__init__)r c C s t � �dS )z�A string that uniquely identifies this requirement to the build tracker. If None, then this dist has no work to do in the build tracker, and ``.prepare_distribution_metadata()`` will not be called.N��NotImplementedError�r r r r �build_tracker_id"