관리-도구
편집 파일: markers.cpython-312.pyc
� G��e� � �� � d Z ddlZddlZddlZddlZddlmZ ddlmZm Z ddl mZ dgZ ej d� Zd � Zd � Z G d� de� Z ej d � Zd� Z e� Z[ e� Zdd�Zy)zG Parser for the environment markers micro-language defined in PEP 508. � N� )�string_types)�in_venv�parse_marker)�NormalizedVersion� interpretz<((\d+(\.\d+)*\w*)|\'(\d+(\.\d+)*\w*)\'|\"(\d+(\.\d+)*\w*)\")c �6 � t | t � r| sy| d dv S )NFr �'")� isinstancer )�os ��/builddir/build/BUILDROOT/alt-python312-pip-23.3.1-1.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py�_is_literalr s � ��a��&�a���Q�4�5�=�� c � � g }t j | � D ]- }|j t |j � d � � �/ t |� S )Nr )�_VERSION_PATTERN�finditer�append�NV�groups�set)�s�result�ms r � _get_versionsr ! sF � � �F� � &� &�q� )� )��� � �b�����A��'�(�)��v�;�r c �L � e Zd ZdZd� d� d� d� d� d� d� d � d � d� d� d � d�Zd� Zy)� Evaluatorz; This class is used to evaluate marker expessions. c � � | |k( S �N� ��x�ys r �<lambda>zEvaluator.<lambda>- � � �1��6� r c � � | |k( S r r r s r r# zEvaluator.<lambda>. s � �A��F� r c � � | |k( xs | |kD S r r r s r r# zEvaluator.<lambda>/ s � �1��6�?�Q��U� r c � � | |k7 S r r r s r r# zEvaluator.<lambda>0 r$ r c � � | |k S r r r s r r# zEvaluator.<lambda>1 � � �1�q�5� r c � � | |k( xs | |k S r r r s r r# zEvaluator.<lambda>2 � � �A��F�O�a�!�e� r c � � | |kD S r r r s r r# zEvaluator.<lambda>3 r) r c � � | |k( xs | |kD S r r r s r r# zEvaluator.<lambda>4 r+ r c � � | xr |S r r r s r r# zEvaluator.<lambda>5 s � �A�G�!� r c � � | xs |S r r r s r r# zEvaluator.<lambda>6 s � �1�6�� r c � � | |v S r r r s r r# zEvaluator.<lambda>7 s � �1��6� r c � � | |vS r r r s r r# zEvaluator.<lambda>8 s � �q��z� r )�==�===�~=�!=�<�<=�>�>=�and�or�in�not inc �J � t |t � r'|d dv r|dd }|S ||vrt d|z � �|| }|S t |t � sJ �|d }|| j vrt d|z � �|d }|d }t |d � r"t |d � rt d |�d|�d|��� �| j ||� }| j ||� }|dk( s|dk( r|d v rt |� }t |� }n|dk( r|dv rt |� }t |� } | j | ||� }|S )z� Evaluate a marker expression returned by the :func:`parse_requirement` function in the specified context. r r r ���zunknown variable: %s�opzop not implemented: %s�lhs�rhszinvalid comparison: � �python_version)r6 r7 r8 r9 r3 r2 r5 r4 )r<