o2Uc @@sldZddklZddkZddkZddkZddkZddkZddkZddk Z ddk Z ddk l Z ddk lZddklZddklZlZlZlZddklZlZdd klZdd klZlZlZl Z dd k!l"Z"l#Z#dd k$l%Z%dd k&l'Z'l(Z(ddk)l*Z*l+Z+l,Z,ddk-l.Z.ddk/l0Z0l1Z1l2Z2ddk3l Z4ddk5Z5ddk6l7Z7dgZ8dddfdddfdddfdddfdde9fgZ:ei;e<Z=de>fdYZ?de>fdYZ@de>fdYZAeAeZBdS(s!Routines related to PyPI, indexesi(tabsolute_importN(tparse(trequest(t ipaddress(tInftcached_propertytnormalize_nametsplitext(tRemovedInPip7WarningtRemovedInPip8Warning(t indent_log(tDistributionNotFoundtBestVersionAlreadyInstalledtInvalidWheelFilenametUnsupportedWheel(t url_to_patht path_to_url(tPyPI(tWheelt wheel_ext(tsupported_tagstsupported_tags_noarcht get_platform(tInstallationCandidate(thtml5libt pkg_resourcestsix(tSSLErrort PackageFinderthttpst*t localhosts 127.0.0.0/8s::1/128tfilec B@seZdZeddeededdZdZdZdZ dZ dZ dZ dZ d Zeid Zeid eiZeid Zd ZdZdZdZdZdZRS(sThis finds packages. This is meant to match easy_install's technique for looking for packages, by reading pages and looking for appropriate links c C@s| djotdn||_||_g|_t|_||_td|D|_td|D|_ |i|i O_||_ g} |o|ngD]} | d| dfq~ |_ t |_ t |_||_| |_| |_dS(Ns>PackageFinder() missing 1 required keyword argument: 'session'cs@sx|]}t|VqWdS(N(R(t.0tn((s//usr/lib/python2.6/vendor-packages/pip/index.pys Ps cs@sx|]}t|VqWdS(N(R(R!R"((s//usr/lib/python2.6/vendor-packages/pip/index.pys Ts R(tNonet TypeErrort find_linkst index_urlstdependency_linkstsett logged_linkst use_wheeltallow_externaltallow_unverifiedtallow_all_externaltsecure_originstFalsetneed_warn_externaltneed_warn_unverifiedtallow_all_prereleasestprocess_dependency_linkstsession( tselfR%R&R*R+R,R-R2t trusted_hostsR3R4t_[1]thost((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__init__;s(        4    cC@s2|io$tidt|ii|ndS(NsXDependency Links processing has been deprecated and will be removed in a future release.(R3twarningstwarnRR'textend(R5tlinks((s//usr/lib/python2.6/vendor-packages/pip/index.pytadd_dependency_linksts  c @sTggfd}x)|D]!}tii|}|id}||ij}|p|o|o |}n t|}|o\tii|oItii|}xti|D]}|tii ||qWqF|o$tii|oi |qFtii |o||qFq%i |q%WfS(st Sort locations into "files" (archives) and "urls", and return a pair of lists (files,urls) c@sNt|}ti|dtddjoi|ni|dS(Ntstrictis text/html(Rt mimetypest guess_typeR/tappend(tpathturl(tfilesturls(s//usr/lib/python2.6/vendor-packages/pip/index.pyt sort_paths  sfile:( tosRCtexistst startswithR%RtisdirtrealpathtlistdirtjoinRBtisfile( R5t locationsRGRDt is_local_patht is_file_urlt is_find_linkRCtitem((RERFs//usr/lib/python2.6/vendor-packages/pip/index.pyt_sort_locationss.  !cC@s|iott}|itjo d}nb|iitjoGt|ii}|i pt d|in|i }n| }|i |fS|i SdS(sL Function used to generate link sort key for link tuples. The greater the return value, the more preferred it is. If not finding wheels, then sorted by version only. If finding wheels, then the sort order is by version, then: 1. existing installs 2. wheels ordered via Wheel.support_index_min() 3. source archives Note: it was considered to embed this logic into the Link comparison operators, but then different sdist links with the same version, would have to be considered equal isB%s is not a supported wheel for this platform. It can't be sorted.N( R*tlenRtlocationtINSTALLED_VERSIONtextRRtfilenamet supportedRtsupport_index_mintversion(R5t candidatet support_numtpritwheel((s//usr/lib/python2.6/vendor-packages/pip/index.pyt_candidate_sort_keys    cC@st|d|idtS(s Bring the latest version (and wheels) to the front, but maintain the existing ordering as secondary. See the docstring for `_link_sort_key` for details. This function is isolated for easier unit testing. tkeytreverse(tsortedRbtTrue(R5tapplicable_versions((s//usr/lib/python2.6/vendor-packages/pip/index.pyt_sort_versionss cC@stit|}|i|i|if}xt|iD]Z}|d|djo|ddjoq;nyti t |dt i p|ddjo |dn|did}tit |dt i o |dn|did}Wn@tj o4|d|djo|ddjoq;qVnX||joq;n|d|djo)|ddjo|ddj oq;nPq;W|id|i|itidtdS(NiRitutf8isThis repository located at %s is not a trusted host, if this repository is available via HTTPS it is recommend to use HTTPS instead, otherwise you may silence this warning with '--trusted-host %s'.sImplicitly allowing locations which are not hosted at a secure origin is deprecated and will require the use of --trusted-host in the future.(t urllib_parseturlparsetstrtschemethostnametporttSECURE_ORIGINSR.Rt ip_addresst isinstanceRt text_typeR#tdecodet ip_networkt ValueErrortwarningR:R;R(R5tloggerRWtparsedtorigint secure_origintaddrtnetwork((s//usr/lib/python2.6/vendor-packages/pip/index.pyt_validate_secure_origins>&"&   c$!@scfd}|id}|iot||iddt}|i||}|djoitit|joSt i d|i |ft |i t|iddt|p|iqndj o5g}|iD]}|||q~|i}nt|i}|i|\} } |i|i\} } | i| g} | D]}| t|dtqi~ }|ig}| D]}|t|q~tid|x.|D]&}tid||it|qWg}|i|ig}|iD]}|t|ddtq~|i ig}xm|i||D]Y}tid|itiiz)|i|i|i|i iWdQXqhWt|ig}|iD]}|t|q~|i i}|o>tid d ig}|D]}||iiq+~nt|ig}| D]}|t|qc~|i i}| o~| ov| on| ofti d ||i!oti"d |i n|i#oti"d |i nt$d|ng}|i%dj o"t&|i |i%i't(g}n|oT|i)dttidd ig}|D]}|t*|iiq~n||||}t+|i,i-g}|D]}||i'q~d|i.o |i.nd}g} |D]!}|i'|jo | |qq~ }!||!}!|i/|!}!t0d|!D}"| o[|"oT|!dit(jotid|i%i'n"tid|i%i'|!dddS|!pti d|d it1t+d|Ddt2|i!oti"dn|i#oti"d |i nt$d|n|!dit(joAtid|i%i'd id|!dDpdt3nt4|!djo1tid|!di'd id |!Dn|!di}#|#i5dj o"|#i5 oti"d!|i n|#i6ot i d"|i t7n|#S(#Nc@s4ti|}|idp|d}n|S(Nt/(t posixpathRNtendswith(RDtloc(turl_name(s//usr/lib/python2.6/vendor-packages/pip/index.pytmkurl_pypi_urlsittrustedsyFailed to find %r at %s. It is suggested to upgrade your index to support normalized names as the name in /simple/{name}.s#URLs to search for versions for %s:s* %ss-fsAnalyzing links from page %ssdependency_links found: %ss, s<Could not find any downloads that satisfy the requirement %ssqSome externally hosted files were ignored as access to them may be unreliable (use --allow-external %s to allow).sWSome insecure and unverifiable files were ignored (use --allow-unverified %s to allow).s$No distributions at all found for %sRdsLocal files found: %st prereleasescs@s"x|]}|itjVqWdS(N(RWRX(R!ti((s//usr/lib/python2.6/vendor-packages/pip/index.pys s sLExisting installed version (%s) is most up-to-date and satisfies requirementsUExisting installed version (%s) satisfies requirement (most up-to-date version is %s)isNCould not find a version that satisfies the requirement %s (from versions: %s)cs@s"x|]}t|iVqWdS(N(RlR](R!R((s//usr/lib/python2.6/vendor-packages/pip/index.pys s RcsnSome externally hosted files were ignored as access to them may be unreliable (use --allow-external to allow).s,No distributions matching the version for %ss=Installed version (%s) is most up-to-date (past versions: %s)cs@s"x|]}t|iVqWdS(N(RlR](R!R((s//usr/lib/python2.6/vendor-packages/pip/index.pys s itnones)Using version %s (newest of versions: %s)cs@s"x|]}t|iVqWdS(N(RlR](R!R((s//usr/lib/python2.6/vendor-packages/pip/index.pys s s,%s is potentially insecure and unverifiable.sb%s discovered using a deprecated method of parsing, in the future it will no longer be discovered.(8RR#R&tLinkRft _get_pageRtnetlocRlR:R;tnameR t_find_url_nameR%tlistRUR'R<RxtdebugR~t_package_versionstlowert _get_pagesRDR t__exit__t __enter__R=RNRWtcriticalR0RwR1R t satisfied_byRR]RXtsortRR(t specifiertfilterR2RhtanyRet parse_versionR RVt verifiablet_deprecated_regexR($R5treqtupgradeRtmain_index_urltpageR7RDRPtfile_locationst url_locationst _flocationst _ulocationst_[2]t_[3]RWtfound_versionst_[4]t page_versionst_[5]tdependency_versionst_[6]R]t_[7]t file_versionstinstalled_versiont_[8]R^t all_versionst_[9]txt _versionst_[10]Rgtexisting_applicabletselected_version((Rs//usr/lib/python2.6/vendor-packages/pip/index.pytfind_requirements"   #   . -.0) </$   . $ 5              cC@s|iidp|id7_n|i||}|djotid|dSt|i}xW|iD]L}t i |i i d}|t|joti d|||SqsWdS(s Finds the true URL name of a package, when the given name isn't quite correct. This is usually used to implement case-insensitivity. RsCannot fetch index base URL %sNs!Real name of requirement %s is %s(RDRRR#RxRRRR=RtbasenameRCtrstripR(R5t index_urlRRRt norm_nametlinktbase((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs    c c@sBt|}t}x&|o|id}||joqn|i||i||}|djoqn|Vx|iD]}t|ii }||i jo+|i o t |_ tid|qn|idj o;|i o0||ijo tid|t |_qn|i|qWqWdS(s Yields (page, page_url) from the given locations, skipping locations that have errors, and adding download/homepage links is@Not searching %s for files because external urls are disallowed.s_Not searching %s for urls, it is an untrusted link and cannot produce safe or verifiable files.N(RR(tpoptaddRR#t rel_linksRRRR+R-RfR0RxRRR,R1RB( R5RPRt all_locationstseenRWRRt normalized((s//usr/lib/python2.6/vendor-packages/pip/index.pyR)s>          s #egg=([^&]*)s([a-z0-9_.]+)-([a-z0-9_.!+-]+)s-py([123]\.?[0-9]?)$cC@sugg}}t}xT|D]L}||jo9|i||io|i|qi|i|qqW||S(s Returns elements of links in order, non-egg links first, egg links second, while eliminating duplicates (R(Rt egg_fragmentRB(R5R=teggstno_eggsRR((s//usr/lib/python2.6/vendor-packages/pip/index.pyt _sort_links\s     cc@sFx?|i|D].}|i||}|dj o |VqqWdS(N(Rt_link_package_versionsR#(R5R=t search_nameRtv((s//usr/lib/python2.6/vendor-packages/pip/index.pyRls  cC@s d}|io |tfS|S(Ns.tar.gzs.tar.bz2s.tars.tgzs.zip(s.tar.gzs.tar.bz2s.tars.tgzs.zip(R*R(R5t extensions((s//usr/lib/python2.6/vendor-packages/pip/index.pyt_known_extensionsrs  c C@s t}d}|io |i}ny|i\}}|p9||ijo$tid||ii|ndS|ido|d }d|}n||i jo<||ijo'tid|||ii|ndSd|i joF|djo9||ijo$tid||ii|ndS|t joLyt |i }Wn$tj otid |dSXti|iiti|ijotid ||dS|iptid |dSt|d d}|id  oK|id o:|dj o[|dj oNti|iiitio,|idtptid|dSn|i}n|p|i|||}n|djotid ||dS|idj oP|i oEt|i|i jo)|i! otid|t"|_#dS|i$dj oE|i$ o:t|i|i%jotid|t"|_&dS|i'i(|} | oL|| i) }| i*d} | t+id jotid|dSntid||t,|||S(s Return an iterable of triples (pkg_resources_version_key, link, python_version) that can be extracted from the given link. Meant to be overridden by subclasses, not called by clients. sSkipping link %s; not a fileNs.taris,Skipping link %s; unknown archive format: %stmacosx10s.zipsSkipping link %s; macosx10 ones1Skipping %s because the wheel filename is invalids-Skipping link %s; wrong project name (not %s)s9Skipping %s because it is not compatible with this Pythont comes_fromtwintmacosxtclittagssOSkipping %s because it is a pypi-hosted binary Wheel on an unsupported platforms,Skipping %s because it is externally hosted.s<Skipping %s because it is an insecure and unverifiable file.iis/Skipping %s because Python version is incorrectsFound link %s, version: %s(-RR#RRR)RxRRRRRCRRRZR Rt safe_nameRRR[tgetattrRJRjRkRDRRRR]t_egg_info_matchestinternalRR+R-RfR0RR,R1t_py_version_retsearchtstarttgrouptsysR( R5RRtplatformR]tegg_infoRYRaRtmatcht py_version((s//usr/lib/python2.6/vendor-packages/pip/index.pyRxs                    cC@s|ii|}|ptid|dS|idi}|idd}|id}|i|o|idt |SdSdS(Ns%Could not parse version from link: %sit_t-( t _egg_info_reRRxRR#RRtreplaceRJRV(R5RRRRRtlook_for((s//usr/lib/python2.6/vendor-packages/pip/index.pyRscC@sti||d|iS(NR4(tHTMLPagetget_pageR4(R5RR((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs((N(t__name__t __module__t__doc__RfR/R#R9R>RURbRhR~RRRtretcompilet_egg_fragment_retIRRRRRRRR(((s//usr/lib/python2.6/vendor-packages/pip/index.pyR4s,  5 ( E  /    RcB@seZdZeideiZeideiZeideieiBZ dddZ dZ e eddZedddZed Zed Zed Zed Zd ZddZdZeideiZdZRS(s'Represents one page, along with its URLs\s*home\s*pages\s*download\s+urls(href=(?:"([^"]*)"|'([^']*)'|([^>\s\n]*))cC@sd}|oEd|jo8ti|d\}}d|jo|d}qRn||_ti|id|dt|_||_||_ ||_ dS(Ns Content-TypetcharsettencodingtnamespaceHTMLElements( R#tcgit parse_headertcontentRRR/RyRDtheadersR(R5RRDRRRt content_typetparams((s//usr/lib/python2.6/vendor-packages/pip/index.pyR9s      cC@s|iS(N(RD(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__str__1scC@sh|djotdn|i}|iddd}ddkl}xV|iD]K}|ii|o/|t |djot i d||dSqVWy|o|i }x|dd d d d gD]a} |i | oK|i|d |} | iidoPq/t i d|| dSqqWnt i d|ti|\}} } } }}|djo`tiiti| oD|i dp|d7}nti|d}t i d|n|i|dhdd6dd6}|i|iidd} | iidpt i d|| dS||i|i|id|i}Wntij oE}|iidjodnd}|i ||||d|nti!j o#}|i ||d||ntti"j o|i ||d |nIt#j o8}d!|}|i ||||ddd"t i$nX|SdS(#Ns9get_page() missing 1 required keyword argument: 'session't#ii(t VcsSupports+:sCannot look at %s URL %ss.tars.tar.gzs.tar.bz2s.tgzs.zipR4s text/htmls,Skipping page %s because of Content-Type: %ssGetting page %sR Rs index.htmls# file: URL is directory, getting %sRtAccepts max-age=600s Cache-Controls Content-TypetunknownRiitlevelsconnection error: %ss timed outs6There was a problem confirming the ssl certificate: %stmeth(%R#R$RDtsplittpip.vcsRtschemesRRJRVRxRRZRt_get_content_typeRjRkRHRCRKturllib_requestt url2pathnameturljointgettraise_for_statusRRRtrequestst HTTPErrortresponset status_codet _handle_failtConnectionErrortTimeoutRtinfo(tclsRRt skip_archivesR4RDRRmRZtbad_extRRRCRtquerytfragmenttresptinsttexcRtreason((s//usr/lib/python2.6/vendor-packages/pip/index.pyR4s    -  !     icC@sE|djo ti}n|d|||d|i|fdS(NsCould not fetch URL %s: %ss7Will skip URL %s when looking for download links for %s(R#RxRRD(RRRRDRR((s//usr/lib/python2.6/vendor-packages/pip/index.pyR s   cC@sbti|\}}}}}|djodS|i|dt}|i|iiddS(s;Get the Content-Type of the given url, using a HEAD requestthttpRttallow_redirectss Content-Type(shttpshttps(RjturlsplittheadRfRRR(RDR4RmRRCRRR((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs   c C@sg}|iidD]0}|iddidjo ||qq~}|o>yt|diddSWqttfj oqXndS(Ns.//metaRRs api-versionitvalue(RytfindallRRtintR#R$Rv(R5R7Rtmetas((s//usr/lib/python2.6/vendor-packages/pip/index.pyt api_versions3 cC@sg}|iidD]'}|iddj o ||qq~}|o&|dido|didS|iSdS(Ns.//basethrefi(RyR RR#RD(R5R7Rtbases((s//usr/lib/python2.6/vendor-packages/pip/index.pytbase_urls *cc@sx|iidD]}|ido|id}|iti|i|}d}|ioE|idjo5t |idod|idi j}nt ||d|VqqWdS(sYields all links in the pages.//aR$itrelRN( RyR Rt clean_linkRjRR&R#R#tboolRR(R5tanchorR$RDR((s//usr/lib/python2.6/vendor-packages/pip/index.pyR=s"cc@s<x|iD] }|Vq Wx|iD] }|Vq)WdS(N(texplicit_rel_linkstscraped_rel_links(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs    thomepagetdownloadcc@st|}x|iidD]}|ido|idoot|idi}||@oE|id}|iti|i|}t ||dt VqqqWdS(s)Yields all links with the given relationss.//aR'R$RN( R(RyR RRR(RjRR&RR/(R5trelsR*t found_relsR$RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyR+s   c c@sx |i|ifD]}|i|i}|pqn|ii|id|i}|pqn|idp|idp |id}|pqny|id}Wntj o qnX|i t i |i |}t ||dtdtVqWdS(NtposiiitasciiRR(t _homepage_ret _download_reRRt_href_retendRRttUnicodeDecodeErrorR(RjRR&RR/Rf(R5tregexRt href_matchRD((s//usr/lib/python2.6/vendor-packages/pip/index.pyR,s&!s[^a-z0-9$&+,/:;=?@.#%_\\|-]cC@s|iid|S(sMakes sure a link is fully encoded. That is, if a ' ' shows up in the link, it will be rewritten to %20 (while not over-quoting % or other characters).cS@sdt|idS(s%%%2xi(tordR(R((s//usr/lib/python2.6/vendor-packages/pip/index.pyts(t _clean_retsub(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyR( s N(shomepageR.(RRRRRRR3R4tSR5R#R9Rt classmethodRfRt staticmethodR RRR#R&tpropertyR=RR+R,R<R((((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs* _    RcB@s:eZdddedZdZdZdZdZdZ dZ dZ dZ d Z ed Zed Zed Zed ZdZedZedZeidZedZeidZedZedZedZedZRS(cC@s^|tjo |idot|}n||_||_||_||_||_dS(Ns\\(RRJRRDRRRR(R5RDRRRR((s//usr/lib/python2.6/vendor-packages/pip/index.pyR9s    cC@s0|iod|i|ifSt|iSdS(Ns %s (from %s)(RRDRl(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyR"s cC@sd|S(Ns ((R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__repr__(scC@s%t|tptS|i|ijS(N(RrRtNotImplementedRD(R5tother((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__eq__+scC@s%t|tptS|i|ijS(N(RrRRCRD(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__ne__0scC@s%t|tptS|i|ijS(N(RrRRCRD(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__lt__5scC@s%t|tptS|i|ijS(N(RrRRCRD(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__le__:scC@s%t|tptS|i|ijS(N(RrRRCRD(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__gt__?scC@s%t|tptS|i|ijS(N(RrRRCRD(R5RD((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__ge__DscC@s t|iS(N(thashRD(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyt__hash__IscC@skti|i\}}}}}ti|idp|}ti|}|ptd|i|S(NRsURL %r produced no filename(RjRRDRRRtunquotetAssertionError(R5RRRCR((s//usr/lib/python2.6/vendor-packages/pip/index.pyRZLs !cC@sti|idS(Ni(RjRRD(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyRmTscC@sti|idS(Ni(RjRRD(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyRXscC@stiti|idS(Ni(RjRMRRD(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyRC\scC@stti|iidS(NR(RRRRCR(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyR`scC@s|idS(Ni(R(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pyRYcscC@s=ti|i\}}}}}ti||||dfS(N(RjRRDt urlunsplitR#(R5RmRRCRR((s//usr/lib/python2.6/vendor-packages/pip/index.pyturl_without_fragmentgs!s #egg=([^&]*)cC@s.|ii|i}|pdS|idS(Ni(RRRDR#R(R5R((s//usr/lib/python2.6/vendor-packages/pip/index.pyRnss2(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)cC@s.|ii|i}|o|idSdS(Ni(t_hash_reRRDRR#(R5R((s//usr/lib/python2.6/vendor-packages/pip/index.pyRKyscC@s.|ii|i}|o|idSdS(Ni(RQRRDRR#(R5R((s//usr/lib/python2.6/vendor-packages/pip/index.pyt hash_namescC@s0ti|iidddidddS(NRiit?(RRRDR(R5((s//usr/lib/python2.6/vendor-packages/pip/index.pytshow_urlscC@s|ipt|idd}|dj o|o}y%t|idd}t|}Wnttfj o d}nX|djp |djodS|iotSt Sn|dj ot SdS(s Returns True if this link can be verified after download, False if it cannot, and None if we cannot determine. RR#iN( RRRR#R!RvR$RKRfR/(R5RR#((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs   N(RRR#R/R9RRBRERFRGRHRIRJRLRARZRmRRCRRYRPRRRRRQRKRRRTR(((s//usr/lib/python2.6/vendor-packages/pip/index.pyRs4            (CRt __future__RtloggingRRRHRR@RR:tpip._vendor.six.moves.urllibRRjRRt pip.compatRt pip.utilsRRRRtpip.utils.deprecationRR tpip.utils.loggingR tpip.exceptionsR R R Rt pip.downloadRRt pip.modelsRt pip.wheelRRtpip.pep425tagsRRRtpip.req.req_requirementRt pip._vendorRRRtpip._vendor.packaging.versionRR trequests.exceptionsRt__all__R#Rpt getLoggerRRxtobjectRRRRX(((s//usr/lib/python2.6/vendor-packages/pip/index.pytsN        ""