관리-도구
편집 파일: packaging.cpython-311.pyc
� �܋f< � � � 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�ZdS )� N)�NewType�Optional�Tuple�cast)� specifiers�version��Requirement�NormalizedExtra�requires_python�version_info.�returnc � � | �dS t j | � � }t j d� 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. NT�.)r �SpecifierSetr �parse�join�map�str)r r �requires_python_specifier�python_versions �T/opt/cloudlinux/venv/lib64/python3.11/site-packages/pip/_internal/utils/packaging.py�check_requires_pythonr sQ � � ���t� *� 7�� H� H���]�3�8�8�C��\�,B�,B�#C�#C�D�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 �x � t t t j 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 s r � safe_extrar% 0 s/ � � ����(9�3��!F�!F�!L�!L�!N�!N�O�O�Or )� functools�loggingr"