관리-도구
편집 파일: packaging.cpython-312.pyc
� G��e< � � � d dl Z d dlZd dlZd dlmZmZmZmZ d dlm Z m Z d dlmZ ede � Z ej e� Zdee deedf d efd �Z e j* d�� d e d efd�� Zde d efd�Zy)� N)�NewType�Optional�Tuple�cast)� specifiers�version��Requirement�NormalizedExtra�requires_python�version_info.�returnc � � | �yt j | � }t j dj t t |� � � }||v S )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. T�.)r �SpecifierSetr �parse�join�map�str)r r �requires_python_specifier�python_versions ��/builddir/build/BUILDROOT/alt-python312-pip-23.3.1-1.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/utils/packaging.py�check_requires_pythonr sH � � ��� *� 7� 7�� H���]�]�3�8�8�C��\�,B�#C�D�N��6�6�6� i )�maxsize� req_stringc � � t | � S )z5Construct a packaging.Requirement object with cachingr )r s r �get_requirementr % s � � �z�"�"r �extrac �h � t t t j dd| � j � � 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 s r � safe_extrar% 0 s( � � �����(9�3��!F�!L�!L�!N�O�Or )� functools�loggingr"