Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyc

ó
“tÆ_c@s’dZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
ejeƒZe
rIdd	lmZdd
lmZmZmZmZmZmZmZeedfZeeefZeeeefZeeeefZeeeefZ eee fZ!eee!fZ"neddd
gƒZ#d„Z$dd„Z&d„Z'd„Z(d„Z)dS(s'Validation of dependencies of packages
iÿÿÿÿN(t
namedtuple(tcanonicalize_name(tRequirementParseError(t)make_distribution_for_install_requirement(tget_installed_distributions(tMYPY_CHECK_RUNNING(tInstallRequirement(tAnytCallabletDicttOptionaltSettTupletListtPackageDetailstversiontrequirescKsŽ|ikr#itd6dd6}ni}t}xxt|D]j}t|jƒ}y t|j|jƒƒ||<Wq<ttfk
r¥}t	j
d||ƒt}q<Xq<W||fS(s8Converts a list of distributions into a PackageSet.
    t
local_onlytskips%Error parsing requirements for %s: %s((tFalseRRtproject_nameRRRtOSErrorRtloggertwarningtTrue(tkwargstpackage_settproblemstdisttnamete((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyt!create_package_set_from_installed%s cCsIi}i}x0|D](}tƒ}tƒ}|rC||ƒrCqnx·||jD]š}t|jƒ}||kr»t}	|jdk	r™|jjƒ}	n|	rQ|j||fƒqQqQn||j	}
|j
j|
dtƒsQ|j||
|fƒqQqQW|rt|dt
ƒ||<n|rt|dt
ƒ||<qqW||fS(s—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.
    tprereleasestkeyN(tsetRRRRtmarkertNonetevaluatetaddRt	specifiertcontainstsortedtstr(Rt
should_ignoretmissingtconflictingtpackage_nametmissing_depstconflicting_depstreqRtmissedR((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pytcheck_package_set:s0
		
csLtƒ\}}t||ƒ}t||ƒ‰|t|d‡fd†ƒfS(seFor checking if the dependency graph would be consistent after     installing given requirements
    R+cs
|ˆkS(N((R(t	whitelist(sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyt<lambda>vs(Rt_simulate_installation_oft_create_whitelistR3(t
to_installRt_twould_be_installed((R4sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pytcheck_install_conflictsfscCs€tƒ}xp|D]h}t|ƒ}|jƒ}|dk	s@t‚t|jƒ}t|j|j	ƒƒ||<|j
|ƒqW|S(sBComputes the version of packages after installing to_install.
    N(R"Rtget_pkg_resources_distributionR$tAssertionErrorRR!RRRR&(R8Rt	installedtinst_reqt
abstract_distRR((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyR6{s	
cCsqt|ƒ}x^|D]V}||kr+qnx;||jD],}t|jƒ|kr9|j|ƒPq9q9WqW|S(N(R"RRRR&(R:Rtpackages_affectedR.R1((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyR7‘s

(*t__doc__tloggingtcollectionsRtpip._vendor.packaging.utilsRtpip._vendor.pkg_resourcesRtpip._internal.distributionsRtpip._internal.utils.miscRtpip._internal.utils.typingRt	getLoggert__name__Rtpip._internal.req.req_installRttypingRRR	R
RRR
R*t
PackageSettMissingtConflictingtMissingDicttConflictingDicttCheckResulttConflictDetailsRRR$R3R;R6R7(((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.pyt<module>s04	,		
Back to Directory File Manager