Uname : Linux premium36.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Soft : LiteSpeed
Ip : 198.54.115.237
Port : 443
~
/
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
pip
/
_internal
/
index
/
__pycache__
[ HOME ]
Exec
Submit
package_finder.cpython-312.pyc
� p�/i�� � �� � d Z ddlmZ ddlZddlZddlZddlZddlZddlm Z ddl mZ ddlm Z mZmZ ddlmZ ddlmZ dd lmZmZ dd lmZmZ ddlmZ ddlmZmZmZm Z dd l!m"Z"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA e rddlBmCZC g d�ZD e5eE� ZFeeGd eGeHeIf f ZJeGeHeHeHeeeH eJf ZK d2 d3d �ZL G d!� d"ej� � ZN G d#� d$� ZO d4d%�ZPe G d&� d'� � ZQ ed(�)� G d*� d+� � ZR G d,� d-� ZS G d.� d/� ZTd5d0�ZUd6d1�ZVy)7z!Routines related to PyPI, indexes� )�annotationsN)�Iterable)� dataclass)� TYPE_CHECKING�Optional�Union)� specifiers)�Tag)�NormalizedName�canonicalize_name)�InvalidVersion�_BaseVersion)�parse)�BestVersionAlreadyInstalled�DistributionNotFound�InvalidWheelFilename�UnsupportedWheel)� LinkCollector�parse_links)�InstallationCandidate)� FormatControl)�Link)�SearchScope)�SelectionPreferences)�TargetPython)�Wheel)�InstallRequirement)� getLogger)�WHEEL_EXTENSION)�Hashes)� indent_log)�build_netloc)�check_requires_python)�SUPPORTED_EXTENSIONS)� TypeGuard)r �BestCandidateResult� PackageFinder� c �x � t | j |�� }|sfdj t t |� � }|s#t j d|| j | � yt j d|| j | � y# t j $ r$ t j d| j | � Y yw xY w)aa Return whether the given Python version is compatible with a link's "Requires-Python" value. :param version_info: A 3-tuple of ints representing the Python major-minor-micro version to check. :param ignore_requires_python: Whether to ignore the "Requires-Python" value if the given Python version isn't compatible. )�version_info�.z4Link requires a different Python (%s not in: %r): %sFzBIgnoring failed Requires-Python check (%s not in: %r) for link: %sz2Ignoring invalid Requires-Python (%r) for link: %sT) r# �requires_python�join�map�str�logger�verbose�debugr �InvalidSpecifier)�linkr* �ignore_requires_python� is_compatible�versions �Q/opt/hc_python/lib/python3.12/site-packages/pip/_internal/index/package_finder.py�_check_link_requires_pythonr9 ; s� � ��-�� � �%� � � ��h�h�s�3��5�6�G�)����J���(�(�� � ��L�L�T���$�$�� � ��3 �&�&� ����@�� � �� �0 �3 �s �B �4B9�8B9c � � e Zd Z ej � Z ej � Z ej � Z ej � Z ej � Z ej � Z ej � Zy)�LinkTypeN)�__name__� __module__�__qualname__�enum�auto� candidate�different_project�yanked�format_unsupported�format_invalid�platform_mismatch�requires_python_mismatchr( � r8 r; r; j sa � ��� � ��I�!�� � ��� �T�Y�Y�[�F�"�������T�Y�Y�[�N�!�� � ���(�t�y�y�{�rH r; c �b � e Zd ZdZ ej d� Z d dd�Zdd�Zy) � LinkEvaluatorzD Responsible for evaluating links for a particular project. z-py([123]\.?[0-9]?)$Nc �` � |�d}|| _ || _ || _ || _ || _ || _ y)a� :param project_name: The user supplied package name. :param canonical_name: The canonical package name. :param formats: The formats allowed for this package. Should be a set with 'binary' or 'source' or both in it. :param target_python: The target Python interpreter to use when evaluating link compatibility. This is used, for example, to check wheel compatibility, as well as when checking the Python version, e.g. the Python version embedded in a link filename (or egg fragment) and against an HTML link's optional PEP 503 "data-requires-python" attribute. :param allow_yanked: Whether files marked as yanked (in the sense of PEP 592) are permitted to be candidates for install. :param ignore_requires_python: Whether to ignore incompatible PEP 503 "data-requires-python" values in HTML links. Defaults to False. NF)� _allow_yanked�_canonical_name�_ignore_requires_python�_formats�_target_python�project_name)�selfrQ �canonical_name�formats� target_python�allow_yankedr5 s r8 �__init__zLinkEvaluator.__init__ s? � �4 "�)�%*�"�)���-���'=��$��� �+���(��rH c � � d}|j r1| j s%|j xs d}t j d|� �fS |j r|j }|j }�ni|j � \ }}|st j dfS |t vrt j d|� �fS d| j vr*|t k( r!d| j � �}t j |fS d|j v r|d k( rt j d fS |t k( r� t |j � }|j$ | j&