관리-도구
편집 파일: package_finder.cpython-36.pyc
3 �ReB� � @ s@ d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl m Z ddlm Z mZmZmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z. e*�r�ddl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl m:Z: ddlm;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA e7e6f e6eBeCf f ZDe6eBeBeBe:eDe3eB f ZEddd gZFejGeH�ZId2d"d#�ZJG d$d%� d%eK�ZLd&d'� ZMG d(d)� d)eK�ZNG d*d� deK�ZOG d+d,� d,eK�ZPG d-d � d eK�ZQd.d/� ZRd0d1� ZSdS )3z!Routines related to PyPI, indexes� )�absolute_importN)� specifiers)�canonicalize_name)�parse)�BestVersionAlreadyInstalled�DistributionNotFound�InvalidWheelFilename�UnsupportedWheel)�parse_links)�InstallationCandidate)� FormatControl)�Link)�SelectionPreferences)�TargetPython)�Wheel)� lru_cache)�WHEEL_EXTENSION)� indent_log)�build_netloc)�check_requires_python)�MYPY_CHECK_RUNNING)�SUPPORTED_EXTENSIONS)�url_to_path)� FrozenSet�Iterable�List�Optional�Set�Text�Tuple�Union)�Tag)�_BaseVersion)� LinkCollector)�SearchScope)�InstallRequirement)�Hashesr �BestCandidateResult� PackageFinderFc C s~ yt | j|d�}W n& tjk r8 tjd| j| � Y nBX |szdjtt|��}|shtjd|| j| � dS tjd|| j| � dS )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_infoz2Ignoring invalid Requires-Python (%r) for link: %s�.z4Link requires a different Python (%s not in: %r): %sFzBIgnoring failed Requires-Python check (%s not in: %r) for link: %sT) r �requires_pythonr �InvalidSpecifier�logger�debug�join�map�str)�linkr) �ignore_requires_python� is_compatible�version� r6 ��/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/index/package_finder.py�_check_link_requires_python>