\e[c@@sdZddlmZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z ddl mZddlmZmZmZmZmZddlmZdd lmZdd lmZdd lmZdd lmZmZm Z m!Z!m"Z"dd l#m$Z$ddl%m&Z&m'Z'ddl(m)Z)ddl*m+Z+e+rwddl,m-Z-ndgZ.ej/e0Z1de2fdYZ3de3fdYZ4dS(s(Base Command class, and related routinesi(tabsolute_importN(t cmdoptions(tConfigOptionParsertUpdatingDefaultsHelpFormatter(t PipSession(t BadCommandt CommandErrortInstallationErrortPreviousBuildDirErrortUninstallationError(t PackageFinder(trunning_under_virtualenv(tparse_requirements(tInstallRequirement(tERRORtPREVIOUS_BUILD_DIR_ERRORtSUCCESSt UNKNOWN_ERRORtVIRTUALENV_NOT_FOUND(t setup_logging(tget_progtnormalize_path(tpip_version_check(tMYPY_CHECK_RUNNING(tOptionaltCommandcB@sMeZdZdZeZeZedZdddZ dZ dZ RS(cC@si|jd6dt|jfd6td6td6|jd6|jd6|d6}t||_d |jj}t j |j||_ t j t j|j}|jj|dS( Ntusages%s %stprogt formattertadd_help_optiontnamet descriptiontisolateds %s Options(RRRRtFalset__doc__Rtparsert capitalizetoptparset OptionGrouptcmd_optsRtmake_option_groupt general_grouptadd_option_group(tselfR t parser_kwt optgroup_nametgen_opts((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyt__init__.s      cC@std|jr-ttjj|jdndd|dk rE|n|jd|j}|j rr|j |_ n|j r|j |_ n|j s|r|dk r|n|j |_ n|j ri|j d6|j d6|_n|j |j_|S(Ntcachethttptretriestinsecure_hoststhttps(Rt cache_dirRtostpathtjointNoneR2t trusted_hoststcerttverifyt client_certttimeouttproxytproxiestno_inputtautht prompting(R+toptionsR2R>tsession((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyt_build_sessionFs -   !  cC@s|jj|S(N(R#t parse_args(R+targs((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyRGjsc C@sr|j|\}}|j|j|_td|jd|jd|j|jrcdtj di(.RGtverbosetquietRIRRJtlogRAR6tenviront exists_actionR8t require_venvtignore_require_venvR tloggertcriticaltsystexitRtrunt isinstancetintRtstrtdebugtTrueRRR RRRtKeyboardInterruptt BaseExceptionRtdisable_pip_version_checktgetattrR!RFtminR>RtloggingtshutdownR(R+RHRDtstatustexctskip_version_checkRE((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pytmainnsd            N( t__name__t __module__R9RRR!thiddenRXR/RFRGRm(((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyR(s $ tRequirementCommandcB@s,eZedZdddddZRS(c C@sx\|jD]Q}xHt|dtd|d|d|d|D]}t|_|j|q;Wq WxE|D]=} tj| d d|jd|}t|_|j|qfWxE|j D]:} tj | d|jd|}t|_|j|qWxV|j D]K}xBt|d|d|d|d|D]}t|_|j|q$WqW|j |_ |pi|j pi|j si|d6} |j rtdt| d d j|j qtd | nd S( s? Marshal cmd line args into a requirement set. t constrainttfinderRDREt wheel_cacheR Rs^You must give at least one requirement to %(name)s (maybe you meant "pip %(name)s %(links)s"?)tlinksRNsLYou must give at least one requirement to %(name)s (see "pip help %(name)s")N(t constraintsR Rbt is_directtadd_requirementR t from_lineR9t isolated_modet editablest from_editablet requirementstrequire_hashest find_linksRtdictR8( trequirement_setRHRDRsRERRttfilenamet req_to_addtreqtopts((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pytpopulate_requirement_setsJ             %cC@s|jg|j}|jr>tjddj|g}ntd|jd|jd|d|j d|j d|j d |d |d |d |d |d|j S(sR Create a package finder appropriate to this requirement command. sIgnoring indexes: %st,Rtformat_controlt index_urlsR:tallow_all_prereleasestprocess_dependency_linksREtplatformtversionstabitimplementationt prefer_binary( t index_urltextra_index_urlsRQRYRaR8R RRR:tpreRR(R+RDRERtpython_versionsRRR((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyt_build_package_finders"       N(RnRot staticmethodRR9R(((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyRqs:(5R"t __future__RRhtlogging.configR%R6R[t pip._internalRtpip._internal.baseparserRRtpip._internal.downloadRtpip._internal.exceptionsRRRRR tpip._internal.indexR tpip._internal.locationsR tpip._internal.req.req_fileR tpip._internal.req.req_installR tpip._internal.status_codesRRRRRtpip._internal.utils.loggingRtpip._internal.utils.miscRRtpip._internal.utils.outdatedRtpip._internal.utils.typingRttypingRt__all__t getLoggerRnRYtobjectRRq(((s8/tmp/pip-install-0xiv62/pip/pip/_internal/basecommand.pyts2     ((