관리-도구
편집 파일: packaging.cpython-38.pyc
U ʗRe< � @ s� d dl Z d dlZd dlZd dlmZmZmZmZ d dlm Z m Z d dlmZ ede �Ze�e�Zee eedf ed�dd �Ze jd d�e ed�d d��Ze ed�dd�ZdS )� N)�NewType�Optional�Tuple�cast)� specifiers�version��Requirement�NormalizedExtra.)�requires_python�version_info�returnc C s4 | dkrdS t �| �}t�d�tt|���}||kS )a� Check if the given Python version matches a "Requires-Python" specifier. :param version_info: A 3-tuple of ints representing a Python major-minor-micro version to check (e.g. `sys.version_info[:3]`). :return: `True` if the given Python version satisfies the requirement. Otherwise, return `False`. :raises InvalidSpecifier: If `requires_python` has an invalid format. NT�.)r �SpecifierSetr �parse�join�map�str)r r �requires_python_specifier�python_version� r ��/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/packaging.py�check_requires_python s r i )�maxsize)� req_stringr c C s t | �S )z5Construct a packaging.Requirement object with cachingr )r r r r �get_requirement% s r )�extrar c C s t tt�dd| ��� �S )aD Convert an arbitrary string to a standard 'extra' name Any runs of non-alphanumeric characters are replaced with a single '_', and the result is always lowercased. This function is duplicated from ``pkg_resources``. Note that this is not the same to either ``canonicalize_name`` or ``_egg_link_name``. z[^A-Za-z0-9.-]+�_)r r �re�sub�lower)r r r r � safe_extra0 s r! )� functools�loggingr �typingr r r r Zpip._vendor.packagingr r �"pip._vendor.packaging.requirementsr r r � getLogger�__name__�logger�int�boolr � lru_cacher r! r r r r �<module> s �