HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/pip/_internal/operations/__pycache__/check.cpython-37.pyc
B

L��g��@s�dZddlZddlmZmZmZmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZe�e�ZGd
d�de�Z eee fZ!e	eefZ"e	eeefZ#eeee"fZ$eeee#fZ%e	e$e%fZ&e	e!e&fZ'e	e!e(fd�dd�Z)d!e!eee*ge(fe&d�dd�Z+eee'd�dd�Z,eee!eed�dd�Z-eee!eed�dd�Z.e!dd�dd �Z/dS)"z'Validation of dependencies of packages
�N)�Callable�Dict�List�
NamedTuple�Optional�Set�Tuple)�Requirement)�LegacySpecifier)�NormalizedName�canonicalize_name)�
LegacyVersion)�)make_distribution_for_install_requirement)�get_default_environment)�DistributionVersion)�InstallRequirement)�
deprecatedc@s"eZdZUeed<eeed<dS)�PackageDetails�version�dependenciesN)�__name__�
__module__�__qualname__r�__annotations__rr	�rr�B/tmp/pip-unpacked-wheel-hv55ucu3/pip/_internal/operations/check.pyrs
r)�returncCs�i}d}t�}xv|jddd�D]d}|j}y t|���}t|j|�||<Wqttfk
r�}zt	�
d||�d}Wdd}~XYqXqW||fS)z3Converts a list of distributions into a PackageSet.Fr)�
local_only�skipz%Error parsing requirements for %s: %sTN)rZiter_installed_distributions�canonical_name�list�iter_dependenciesrr�OSError�
ValueError�logger�warning)�package_set�problems�env�dist�namer�errr�!create_package_set_from_installed%sr,)r&�
should_ignorercCs�t|�i}i}x�|��D]�\}}t�}t�}|r<||�r<qx||jD]r}t|j�}	|	|kr�d}
|jdk	rx|j�ddi�}
|
rD|�|	|f�qD||	j	}|j
j|dd�sD|�|	||f�qDW|r�t|t
d�||<|rt|t
d�||<qW||fS)z�Check if a package set is consistent

    If should_ignore is passed, it should be a callable that takes a
    package name and returns a boolean.
    TN�extra�)�prereleases)�key)�#warn_legacy_versions_and_specifiers�items�setrrr*�marker�evaluate�addr�	specifier�contains�sorted�str)r&r-�missing�conflicting�package_nameZpackage_detail�missing_deps�conflicting_deps�reqr*�missedrrrr�check_package_set6s2	


rC)�
to_installrcs6t�\}}t||�}t||��|t|�fdd�d�fS)zeFor checking if the dependency graph would be consistent after     installing given requirements
    cs|�kS)Nr)r*)�	whitelistrr�<lambda>t�z)check_install_conflicts.<locals>.<lambda>)r-)r,�_simulate_installation_of�_create_whitelistrC)rDr&�_�would_be_installedr)rEr�check_install_conflictses


rL)rDr&rcCsPt�}xD|D]<}t|�}|��}|j}t|jt|����||<|�|�qW|S)z=Computes the version of packages after installing to_install.)	r4rZget_metadata_distributionrrrr r!r7)rDr&�	installed�inst_req�
abstract_distr)r*rrrrHys
rH)rKr&rcCsRt|�}xD|D]<}||krqx,||jD]}t|j�|kr(|�|�Pq(WqW|S)N)r4rrr*r7)rKr&�packages_affectedr>rArrrrI�s


rI)r&rc	Cs�x�|��D]�\}}t|jt�rDt|�d|j�d�d|�d�ddd�xN|jD]D}tdd	�|jD��rLt|�d|j�d
|�d�d|�d�ddd�qLWq
WdS)
N� z# has a non-standard version number.z!to upgrade to a newer version of z^ or contact the author to suggest that they release a version with a conforming version numberi/z24.1)�reason�replacement�issue�gone_incss|]}t|t�VqdS)N)�
isinstancer
)�.0�specrrr�	<genexpr>�sz6warn_legacy_versions_and_specifiers.<locals>.<genexpr>z) has a non-standard dependency specifier �.ze or contact the author to suggest that they release a version with a conforming dependency specifiers)r3rVrr
rr�anyr8)r&�project_nameZpackage_details�deprrrr2�s

r2)N)0�__doc__�logging�typingrrrrrrrZ"pip._vendor.packaging.requirementsr	Z pip._vendor.packaging.specifiersr
�pip._vendor.packaging.utilsrr�pip._vendor.packaging.versionr
�pip._internal.distributionsrZpip._internal.metadatarZpip._internal.metadata.baserZpip._internal.req.req_installr�pip._internal.utils.deprecationr�	getLoggerrr$rZ
PackageSetZMissingZConflictingZMissingDictZConflictingDictZCheckResultZConflictDetails�boolr,r;rCrLrHrIr2rrrr�<module>s:$
-