Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyo

ó
“tÆ_c@sdZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
mZddlmZddlmZdd	lmZdd
lmZmZddlmZer/ddlmZdd
lmZmZm Z m!Z!m"Z"m#Z#ddl$m%Z%nej&e'ƒZ(ddd„ƒYZ)de*fd„ƒYZ+de+fd„ƒYZ,dS(s;Build Environment used for isolation during sdist building
iÿÿÿÿN(tOrderedDict(tget_python_lib(t	get_paths(tRequirementtVersionConflictt
WorkingSet(t__file__(topen_spinner(tcall_subprocess(t
TempDirectoryt
tempdir_kinds(tMYPY_CHECK_RUNNING(t
TracebackType(tTupletSettIterabletOptionaltListtType(t
PackageFindert_PrefixcBseZd„ZRS(cCs¦||_t|_ttjdkr*dnddi|d6|d6ƒd|_tdtd|ƒ}tdtd|ƒ}||kr“|g|_	n||g|_	dS(	Ntnttposix_prefixtvarstbasetplatbasetscriptst
plat_specifictprefix(
tpathtFalsetsetupRtostnametbin_dirRtTruetlib_dirs(tselfRtpurelibtplatlib((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyt__init__s		
(t__name__t
__module__R((((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyRstBuildEnvironmentcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(sFCreates and manages an isolated environment to install build deps
    c
sYtdtjdtƒ‰t‡fd†dDƒƒ|_g|_g|_xItt	|jj
ƒƒƒD],}|jj|jƒ|jj
|jƒqeWd„tdtƒtdtƒfDƒ}tjjˆjdƒ|_tjj|jƒstj|jƒnttjj|jd	ƒd
ƒ2}|jtjdƒjd|d
|jƒƒWdQXdS(Ntkindtglobally_managedc3s3|])}|ttjjˆj|ƒƒfVqdS(N(RR Rtjoin(t.0R!(ttemp_dir(sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pys	<genexpr>;stnormaltoverlaycSs"h|]}tjj|ƒ’qS((R Rtnormcase(R/tsite((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pys	<setcomp>Is	RR4ssitecustomize.pytwsŸ
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                tsystem_sitesR$(R1R2(R	R
t	BUILD_ENVR#Rt	_prefixest	_bin_dirst	_lib_dirstreversedtlisttvaluestappendR"textendR$RRR RR.t	_site_dirtexiststmkdirtopentwritettextwraptdedenttformat(R%RR6tfp((R0sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyR(4s(		"$cCs™d„dDƒ|_|j}|jd}|rL|j|jtjƒƒn|jg}tjjitjj	|ƒd6dd6tjj	|ƒd6ƒdS(NcSs(i|]}tjj|dƒ|“qS(N(R tenvirontgettNone(R/R!((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pys
<dictcomp>ps	tPATHtPYTHONNOUSERSITEt
PYTHONPATHt1(sPATHRMs
PYTHONPATH(
t	_save_envR9R?tsplitR tpathsepR@RItupdateR.(R%Rtold_patht
pythonpath((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyt	__enter__ms


cCsSxL|jjƒD];\}}|dkr>tjj|dƒq|tj|<qWdS(N(RPtitemsRKR RItpop(R%texc_typetexc_valtexc_tbtvarnamet	old_value((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyt__exit__scCsÀtƒ}tƒ}|r¶t|jƒ}xŒ|D]}y2|jtj|ƒƒdkre|j|ƒnWq.tk
r®}|jt	|j
djƒƒt	|j
dƒfƒq.Xq.Wn||fS(s–Return 2 sets:
            - conflicting requirements: set of (installed, wanted) reqs tuples
            - missing requirements: set of reqs
        iiN(tsetRR:tfindRtparseRKtaddRtstrtargstas_requirement(R%treqstmissingtconflictingtwstreqte((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pytcheck_requirementsŽs		
"cCsô|j|}t|_|s dStjtjjtƒdddd|jdg}t	j
ƒtjkru|j
dƒnx[dD]S}t|j|ƒ}|jd	|jd
dƒdjt|pÂd
hƒƒfƒq|W|j}	|	r$|jd|	dgƒx5|	dD]}
|jd|
gƒqWn
|j
dƒx$|jD]}|jd|gƒq;Wx$|jD]}|jd|gƒqbW|jr˜|j
dƒn|jr±|j
dƒn|j
d	ƒ|j|ƒt|ƒ}
t|d|
ƒWdQXdS(Ntinstalls--ignore-installeds	--no-users--prefixs--no-warn-script-locations-vt	no_binarytonly_binarys--t_t-t,s:none:s-iiis--extra-index-urls
--no-indexs--find-linkss--trusted-hosts--pres--prefer-binarytspinner(RnRo(R8R#Rtsyst
executableR Rtdirnametpip_locationtloggertgetEffectiveLeveltloggingtDEBUGR>tgetattrtformat_controlR?treplaceR.tsortedt
index_urlst
find_linkst
trusted_hoststallow_all_prereleasest
prefer_binaryRR(R%tfindertrequirementstprefix_as_stringtmessageRRdR}tformatsR€textra_indextlinkthostRs((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pytinstall_requirements¡s>
		
&	
		

(R)R*t__doc__R(RVR^RlR(((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyR+0s	9		
	tNoOpBuildEnvironmentcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s5A no-op drop-in replacement for BuildEnvironment
    cCsdS(N((R%((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyR(ÔscCsdS(N((R%((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyRVØscCsdS(N((R%RYRZR[((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyR^ÜscCsdS(N((R%((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pytcleanupåscCs
tƒ‚dS(N(tNotImplementedError(R%R…R†R‡Rˆ((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyRés(R)R*RŽR(RVR^RR(((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyRÐs					((-RŽRzR RtREtcollectionsRtdistutils.sysconfigRt	sysconfigRtpip._vendor.pkg_resourcesRRRtpipRRwtpip._internal.cli.spinnersRtpip._internal.utils.subprocessRtpip._internal.utils.temp_dirR	R
tpip._internal.utils.typingRttypesRttypingR
RRRRRt"pip._internal.index.package_finderRt	getLoggerR)RxRtobjectR+R(((sH/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.pyt<module>s*. 
Back to Directory File Manager