File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-310.pyc
Back
o ;j�] � @ s� d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl m Z ddlmZ ddl mZ dd lmZ dd lmZ ddlmZmZmZmZmZmZmZ ddlmZ dd lmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 e�9e:�Z;eee< e=e& f Z> d'd(d#d$�Z?G d%d&� d&e+�Z@dS ))ay Dependency Resolution The dependency resolution in pip is performed as follows: for top-level requirements: a. only one spec allowed per project, regardless of conflicts or not. otherwise a "double requirement" exception is raised b. they override sub-dependency requirements. for sub-dependencies a. "first found, wins" (where the order is breadth first) � )�annotationsN)�defaultdict)�Iterable)�chain)�Optional)� specifiers)�Requirement)� WheelCache)�BestVersionAlreadyInstalled�DistributionNotFound� HashError� HashErrors�InstallationError�NoneMetadataError�UnsupportedPythonVersion)� PackageFinder)�BaseDistribution)�Link)�Wheel)�RequirementPreparer)�InstallRequirement�check_invalid_constraint_type)�RequirementSet)�BaseResolver�InstallRequirementProvider)�compatibility_tags)� get_supported)�direct_url_from_link)� indent_log)�normalize_version_info)�check_requires_pythonF�distr �version_info�tuple[int, int, int]�ignore_requires_python�bool�return�Nonec C s� zt | j�}W n ty } zt| t |���d}~ww zt||d�}W n tjy? } zt�d| j |� W Y d}~dS d}~ww |rDdS d� tt |��}|rYt�d| j ||� dS t d| j �d|� d|����) a� Check whether the given Python version is compatible with a distribution'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. :raises UnsupportedPythonVersion: When the given Python version isn't compatible. N)r"