ž 7’Re)Gc@s\ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZmZmZmZmZddlmZmZmZmZmZmZmZddlmZddlmZddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0dd l1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9dd l:m;Z;dd l m<Z<dd l=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHddlIZJdd lImKZKmLZLmMZMddlNmOZOmPZPdd„ZQGdd„deRƒZSGdd„deRƒZTGdd„deRƒZUdd„ZVejWdejXƒZYeZeZeZeZdd„Z[dd„Z\dd„Z]d d!„Z^eZd"d#„Z_Gd$d%„d%eRƒZ`Gd&d'„d'eRƒZaGd(d)„d)eRƒZbdS(*i(u FeedParserN(u change_root(ubin_pyurunning_under_virtualenvuPIP_DELETE_MARKER_FILENAMEuwrite_delete_marker_fileubin_user(uInstallationErroruUninstallationErroruUnsupportedWheeluBestVersionAlreadyInstalleduInvalidWheelFilenameuDistributionNotFounduPreviousBuildDirError(uvcs(ulogger(u display_pathurmtreeuaskuask_path_existsu backup_diruis_installable_diruis_localu dist_is_localudist_in_usersiteudist_in_site_packagesurenamesunormalize_pathu egg_link_pathumake_path_relativeucall_subprocessu is_prereleaseunormalize_name(uurlparseuurllibu uses_pycacheu ConfigParseru string_typesu HTTPErroruget_python_versionub(uLink(u build_prefix( u PipSessionuget_file_contentuis_urlu url_to_pathu path_to_urluis_archive_fileuunpack_vcs_linku is_vcs_urlu is_file_urluunpack_file_urluunpack_http_url(umove_wheel_filesuWheelu wheel_ext(u pkg_resourcesusixcCs•t|dƒ}|jƒ}WdQXdtjdƒdg}x:|D]2}y|j|ƒ}Wntk rswCYnXPqCWt|ƒtks‘t ‚|S(uQReturn the contents of *filename*. Try to decode the file contents with utf-8, the preffered system encoding (e.g., cp1252 on some Windows machines) and latin1, in that order. Decoding a byte string with latin1 will never raise an error. In the worst case, the returned string will contain some garbage characters. urbNuutf-8ulatin1F( uopenureadulocaleugetpreferredencodinguFalseudecodeuUnicodeDecodeErrorutypeubytesuAssertionError(ufilenameufpudatau encodingsuenc((u /tmp/pip-zej_zi-build/pip/req.pyuread_text_file's   uread_text_filec Bso|EeZdZdMdNdMdNdOdMdMdNdOdd„ ZedMdMdd„ƒZedMdMdd„ƒZ dd„Z d d „Z dOd d „Z d d„Z edd„ƒZedd„ƒZedd„ƒZdNdd„ZdZdd„Zdd„Zdd„Zdd„Zed d!„ƒZejd"ƒZfd#d$„Zed%d&„ƒZed'd(„ƒZd)d*„ZdOd+d,„Z dNd-d.„Z!d/d0„Z"d1d2„Z#d3d4„Z$d5d6„Z%fdMdMd7d8„Z&d9d:„Z'fd;d<„Z(d=d>„Z)d?d@„Z*edAdB„ƒZ+edCdD„ƒZ,dEdF„Z-dGdH„Z.dMdMdIdJ„Z/edKdL„ƒZ0dMS(PuInstallRequirementc CsLf|_t|tƒr9tjj|ƒ}|j|_n||_||_||_||_ | dkrri} n| |_ ||_ ||_ d|_d|_d|_d|_d|_||_d|_d|_d|_d|_| |_| |_|r d|_n=|jdk r?tdd„|jjDƒƒ|_n d|_dS(NcSs0g|]&}t|dƒo)|ddk‘qS(iiu!=(u is_prerelease(u.0ux((u /tmp/pip-zej_zi-build/pip/req.pyu ls u/InstallRequirement.__init__..FT(uextrasu isinstanceu string_typesu pkg_resourcesu Requirementuparseurequ comes_fromu source_dirueditableuNoneueditable_optionsuurluas_eggu_egg_info_pathu satisfied_byuconflicts_withu_temp_build_diru _is_bundleuupdateuinstall_succeededu uninstalleduFalseu use_user_siteu target_diru from_bundleu pycompileuTrueu prereleasesuanyuspecs( uselfurequ comes_fromu source_dirueditableuurluas_egguupdateu prereleasesueditable_optionsu from_bundleu pycompile((u /tmp/pip-zej_zi-build/pip/req.pyu__init__As<                       %uInstallRequirement.__init__c Cs…t||ƒ\}}}|jdƒr6t|ƒ}nd}|||d|ddd|d|ddƒ}|dk r||_n|S(Nufile:u source_dirueditableuurlueditable_optionsu prereleasesT(uparse_editableu startswithu url_to_pathuNoneuTrueuextras( uclsu editable_requ comes_fromu default_vcsunameuurluextras_overrideu source_dirures((u /tmp/pip-zej_zi-build/pip/req.pyu from_editableps   u InstallRequirement.from_editablec CsØd }|jƒ}d }tjjtjj|ƒƒ}d }t|ƒrWt|ƒ}n­tjj|ƒr¾tjj |ksŠ|j dƒr¾t |ƒs©t d|ƒ‚ntt |ƒƒ}nFt|ƒrtjj|ƒsïtjd|ƒntt |ƒƒ}n|r¹|d kr¹|j}|j}|jdkrstjd|ƒrst tjjtjj|jƒƒƒ}n|jtkr¿t|jƒ}|jƒs¶td|jƒ‚q¶q¿n|}|||d|d|ƒS( uŒCreates an InstallRequirement from a name, which might be a requirement, directory containing 'setup.py', filename, or URL. u.u;Directory %r is not installable. File 'setup.py' not found.uARequirement %r looks like a filename, but the file does not existufileu\.\./u-%s is not a supported wheel on this platform.uurlu prereleasesN(uNoneustripuosupathunormpathuabspathuis_urluLinkuisdirusepu startswithuis_installable_diruInstallationErroru path_to_urluis_archive_fileuisfileuloggeruwarnuurl_without_fragmentu egg_fragmentuschemeureusearchuextu wheel_extuWheelufilenameu supporteduUnsupportedWheel( uclsunameu comes_fromu prereleasesuurlurequpathulinkuwheel((u /tmp/pip-zej_zi-build/pip/req.pyu from_lineƒs4  3    !* uInstallRequirement.from_linecCsÁ|jr8t|jƒ}|jrA|d|j7}qAn |j}|jdk rm|dt|jjƒ7}n|jr½t|jt ƒr”|j}n|jj ƒ}|r½|d|7}q½n|S(Nu from %su in %su (from %s)( urequstruurlu satisfied_byuNoneu display_pathulocationu comes_fromu isinstanceu string_typesu from_path(uselfusu comes_from((u /tmp/pip-zej_zi-build/pip/req.pyu__str__®s     uInstallRequirement.__str__cCsv|jdkrdSt|jƒ}|jrrt|jtƒrI|j}n|jjƒ}|rr|d|7}qrn|S(Nu->(urequNoneustru comes_fromu isinstanceu string_typesu from_path(uselfusu comes_from((u /tmp/pip-zej_zi-build/pip/req.pyu from_pathÀs  uInstallRequirement.from_pathcCs |jdk r|jS|jdkrJtjddƒ|_||_|jS|jre|jjƒ}n |j}t j j |ƒst |ƒnt j j ||ƒS(Nu-buildupip-(u_temp_build_diruNoneurequtempfileumkdtempu_ideal_build_dirueditableunameuloweruosupathuexistsu_make_build_dirujoin(uselfu build_diruunpackuname((u /tmp/pip-zej_zi-build/pip/req.pyubuild_locationÍs    u!InstallRequirement.build_locationcCs8|jdk rdS|jdk s(t‚|js7t‚|j}|j}|`|jrj|jjƒ}n |j}t j j ||ƒ}t j j |ƒs¸t jd|ƒt|ƒnt j j |ƒrãtdt|ƒƒ‚nt jd|t|ƒt|ƒfƒtj||ƒ||_||_d|_dS(ukIf the build location was a temporary directory, this will move it to a new more permanent locationNuCreating directory %su<A package already exists in %s; please remove it to continueu,Moving package %s from %s to new location %s(u source_diruNoneurequAssertionErroru_temp_build_diru_ideal_build_dirueditableunameuloweruosupathujoinuexistsuloggerudebugu_make_build_diruInstallationErroru display_pathushutilumoveu_egg_info_path(uselfu old_locationu new_build_dirunameu new_location((u /tmp/pip-zej_zi-build/pip/req.pyucorrect_build_locationÝs0        u)InstallRequirement.correct_build_locationcCs|jdkrdS|jjS(N(urequNoneu project_name(uself((u /tmp/pip-zej_zi-build/pip/req.pyunameúsuInstallRequirement.namecCs&|jdkrdStj|jjƒS(N(urequNoneuurllibuquoteu unsafe_name(uself((u /tmp/pip-zej_zi-build/pip/req.pyuurl_namesuInstallRequirement.url_namec CsÃyddl}Wntk r0tdƒ‚YnXd}|jrtd|jkrttjj|j|jd|ƒ}ntjj|j|ƒ}tj r¿t |tj ƒr¿|j t jƒƒ}n|S(NiuBsetuptools must be installed to install from a source distributionusetup.pyu subdirectory(u setuptoolsu ImportErroruInstallationErrorueditable_optionsuosupathujoinu source_dirusixuPY2u isinstanceu text_typeuencodeusysugetfilesystemencoding(uselfu setuptoolsu setup_fileusetup_py((u /tmp/pip-zej_zi-build/pip/req.pyusetup_pys   uInstallRequirement.setup_pycCsî|jst‚|jr8tjd|j|jfƒntjd|j|jfƒtjd7_z>|jdkrºtj j tj j |jdƒƒ rºt tj j |jdƒƒn|j }|jdt|jƒƒ}|jdt|jƒƒ}tjd |d g}|js|r&g}nFtj j |jd ƒ}tj j|ƒs`tj|ƒnd d g}t||d |jd|jdddtjddƒWdtjd8_X|jsêtjjd|jƒƒ|_|jƒndS(Nu2Running setup.py (path:%s) egg_info for package %su7Running setup.py (path:%s) egg_info for package from %siu distributeu setuptoolsudistribute.egg-infou __SETUP_PY__u __PKG_NAME__u-cuegg_infou pip-egg-infou --egg-baseucwdu filter_stdoutu show_stdoutu command_levelu command_descupython setup.py egg_infou%(Name)s==%(Version)sF(u source_diruAssertionErrorunameuloggerunotifyusetup_pyuurluindentuosupathuisdirujoinurmtreeu _run_setup_pyureplaceureprusysu executableueditableuexistsumakedirsucall_subprocessu_filter_installuFalseu VERBOSE_DEBUGurequ pkg_resourcesu Requirementuparseupkg_infoucorrect_build_location(uselfuforce_root_egg_infouscriptu egg_info_cmduegg_base_optionu egg_info_dir((u /tmp/pip-zej_zi-build/pip/req.pyu run_egg_info!s8   4        uInstallRequirement.run_egg_infou} __file__ = __SETUP_PY__ from setuptools.command import egg_info import pkg_resources import os import tokenize def replacement_run(self): self.mkpath(self.egg_info) installer = self.distribution.fetch_build_egg for ep in pkg_resources.iter_entry_points('egg_info.writers'): # require=False is the change we're making: writer = ep.load(require=False) if writer: writer(self, ep.name, os.path.join(self.egg_info,ep.name)) self.find_sources() egg_info.egg_info.run = replacement_run exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec')) cCsy|jdk r5|jj|ƒs%dS|jj|ƒS|jsDt‚|j|ƒ}tjj |ƒsidSt |ƒ}|S(N( u satisfied_byuNoneu has_metadatau get_metadatau source_diruAssertionErroru egg_info_pathuosupathuexistsuread_text_file(uselfufilenameudata((u /tmp/pip-zej_zi-build/pip/req.pyu egg_info_databs u InstallRequirement.egg_info_datac s|jdkr|jr$|j}ntjj|jdƒ}tj|ƒ}|jr€g}x tj|ƒD]ü\‰}}x-t j D]"}||krƒ|j |ƒqƒqƒWxšt |ƒD]Œ}tjj tjjˆ|ddƒƒs tjj tjjˆ|ddƒƒr|j |ƒn|dks2|dkr¶|j |ƒq¶q¶W|j‡fdd †|DƒƒqjWd d „|Dƒ}n|sŸtd ||fƒ‚n|s»td ||fƒ‚t|ƒd kræ|jd dd„ƒntjj||dƒ|_ntjj|j|ƒS(Nu pip-egg-infoubinupythonuScriptsu Python.exeutestutestscs%g|]}tjjˆ|ƒ‘qS((uosupathujoin(u.0udir(uroot(u /tmp/pip-zej_zi-build/pip/req.pyu †s u4InstallRequirement.egg_info_path..cSs%g|]}|jdƒr|‘qS(u .egg-info(uendswith(u.0uf((u /tmp/pip-zej_zi-build/pip/req.pyu ˆs u$No files/directories in %s (from %s)iukeycSs8|jtjjƒtjjr3|jtjjƒp6dS(Ni(ucountuosupathusepualtsep(ux((u /tmp/pip-zej_zi-build/pip/req.pyu’s u2InstallRequirement.egg_info_path..i(u_egg_info_pathuNoneueditableu source_diruosupathujoinulistdiruwalkuvcsudirnamesuremoveulistuexistsuextenduInstallationErroruAssertionErrorulenusort(uselfufilenameubaseu filenamesudirsufilesudir((urootu /tmp/pip-zej_zi-build/pip/req.pyu egg_info_pathns6    ''u InstallRequirement.egg_info_pathcCso|j|ƒ}|sgSg}xI|jƒD];}|jƒ}| s,|jdƒrZq,n|j|ƒq,W|S(Nu#(u egg_info_datau splitlinesustripu startswithuappend(uselfufilenameudatauresultuline((u /tmp/pip-zej_zi-build/pip/req.pyuegg_info_lines˜s u!InstallRequirement.egg_info_linescCs^tƒ}|jdƒ}|sAtjdt|jdƒƒƒn|j|pPdƒ|jƒS(NuPKG-INFOuNo PKG-INFO file found in %su(u FeedParseru egg_info_datauloggeruwarnu display_pathu egg_info_pathufeeduclose(uselfupudata((u /tmp/pip-zej_zi-build/pip/req.pyupkg_info¤s  #uInstallRequirement.pkg_infocCs |jdƒS(Nudependency_links.txt(uegg_info_lines(uself((u /tmp/pip-zej_zi-build/pip/req.pyudependency_links¬su#InstallRequirement.dependency_linksu \[(.*?)\]ccs…d}xx|jdƒD]g}|jj|jƒƒ}|rO|jdƒ}qn|rx||krxtjd|ƒqn|VqWdS(Nu requires.txtiuskipping extra %s(uNoneuegg_info_linesu_requirements_section_reumatchulowerugroupuloggerudebug(uselfuextrasuin_extraulineumatch((u /tmp/pip-zej_zi-build/pip/req.pyu requirements²suInstallRequirement.requirementsccs5x.|jjD] \}}|dkr |Vq q WdS(Nu==(urequspecs(uselfu qualifieruversion((u /tmp/pip-zej_zi-build/pip/req.pyuabsolute_versions¿s u$InstallRequirement.absolute_versionscCs|jƒdS(Nuversion(upkg_info(uself((u /tmp/pip-zej_zi-build/pip/req.pyuinstalled_versionÅsu$InstallRequirement.installed_versioncCsk|jst‚|j}||jkrDtjd||jfƒn#tjdt|jƒ||fƒdS(Nu'Requested %s, but installing version %su;Source in %s has version %s, which satisfies requirement %s(u source_diruAssertionErroruinstalled_versionurequloggeruwarnudebugu display_path(uselfuversion((u /tmp/pip-zej_zi-build/pip/req.pyuassert_source_matches_versionÉs   u0InstallRequirement.assert_source_matches_versioncCs|js!tjd|jƒdS|js0t‚|js?t‚|jjdƒrUdSd|jkswtd|jƒ‚|js„dS|jjddƒ\}}t j |ƒ}|rï||jƒ}|rÜ|j |jƒq|j |jƒndstd|j|fƒ‚dS(Nu>Cannot update repository at %s; repository location is unknownufile:u+u bad url: %riiu+Unexpected version control type (in %s): %s( uurluloggeruinfou source_dirueditableuAssertionErroru startswithuupdateusplituvcsu get_backenduobtainuexport(uselfuobtainuvc_typeuurlubackendu vcs_backend((u /tmp/pip-zej_zi-build/pip/req.pyuupdate_editableÒs( "  u"InstallRequirement.update_editablecsd|jƒs%td|jfƒ‚n|jp4|j}t|ƒ}tjj|j |j ƒƒd}tjj|j dj|j ƒj dƒdd…ƒƒd}|j dt jdƒ}|j ƒd }t|ƒ}tjj|ƒ} tjj|ƒ} tjj|ƒ} | s| rR| r)|} n|} |j| ƒ|jd ƒrœx|jd ƒjƒD]4} tjjtjj| | ƒƒ}|j|ƒqaWq‘|jd ƒr‘|jd ƒrÌ|jd ƒ‰ng‰xz‡fd d†|jd ƒjƒDƒD]M}tjj|j |ƒ}|j|ƒ|j|dƒ|j|dƒqûWq‘n?|j j|ƒr¯|j|j ƒtjjtjj|j ƒdƒ}|j|d|ƒnâ|r^t|dƒ}tjj|jƒjƒƒ}|jƒ||j kstd||j|j fƒ‚|j|ƒtjjtjj|ƒdƒ}|j||j ƒn3| r‘x*tj j!|ƒD]}|j|ƒqwWn|jdƒr5|j"dƒr5xƒ|j#dƒD]o}t$|ƒrÚt%}nt&}|jtjj||ƒƒt'j(dkr¿|jtjj||ƒdƒq¿q¿Wn|jdƒrJt)j*ƒ}|j+t,|j-dƒƒƒ|j.dƒrJxÉ|j/dƒD]µ\}}t$|ƒr¬t%}nt&}|jtjj||ƒƒt'j(dkr‹|jtjj||ƒdƒ|jtjj||ƒdƒ|jtjj||ƒdƒq‹q‹WqJn|j0|ƒ||_1dS(u¥ Uninstall the distribution currently satisfying this requirement. Prompts before removing or modifying files unless ``auto_confirm`` is True. Refuses to delete or modify files outside of ``sys.prefix`` - thus uninstallation within a virtual environment can only modify that virtual environment, even if the virtualenv is linked to global site-packages. u.Cannot uninstall requirement %s, not installedu .egg-infou-Niu .dist-infou-py%suu.egguinstalled-files.txtu top_level.txtunamespace_packages.txtcs(g|]}|r|ˆkr|‘qS(((u.0up(u namespaces(u /tmp/pip-zej_zi-build/pip/req.pyu s u0InstallRequirement.uninstall..u.pyu.pycueasy-install.pthu./uru;Egg-link %s does not match installed location of %s (at %s)uscriptsuwin32u.batuentry_points.txtuconsole_scriptsu.exeu .exe.manifestu -script.py(2ucheck_if_existsuUninstallationErrorunameu satisfied_byuconflicts_withuUninstallPathSetuosupathujoinulocationuegg_nameusplitureplaceu pkg_resourcesuPY_MAJORu egg_link_pathuexistsuaddu has_metadatau get_metadatau splitlinesunormpathuendswithudirnameuadd_pthuopenunormcaseureadlineustripucloseuAssertionErrorupipuwheeluuninstallation_pathsumetadata_isdirumetadata_listdirudist_in_usersiteubin_userubin_pyusysuplatformu ConfigParseruSafeConfigParserureadfpuFakeFileuget_metadata_linesu has_sectionuitemsuremoveu uninstalled(uselfu auto_confirmudistupaths_to_removeupip_egg_info_pathudist_info_pathudebian_egg_info_pathueasy_install_eggudevelop_egg_linkupip_egg_info_existsudebian_egg_info_existsudist_info_existsu egg_info_pathuinstalled_fileupathu top_level_pkgueasy_install_pthufhu link_pointeruscriptubin_diruconfigunameuvalue((u namespacesu /tmp/pip-zej_zi-build/pip/req.pyu uninstallës–  (    !   .    *     - uInstallRequirement.uninstallcCs4|jr|jjƒntjd|jfƒdS(Nu'Can't rollback %s, nothing uninstalled.(u uninstalledurollbackuloggeruerroru project_name(uself((u /tmp/pip-zej_zi-build/pip/req.pyurollback_uninstallYs  u%InstallRequirement.rollback_uninstallcCs4|jr|jjƒntjd|jfƒdS(Nu%Can't commit %s, nothing uninstalled.(u uninstalleducommituloggeruerroru project_name(uself((u /tmp/pip-zej_zi-build/pip/req.pyucommit_uninstall`s  u#InstallRequirement.commit_uninstallcCs|jst‚d}d|j|jf}tjj||ƒ}tjj|ƒrt dt |ƒdƒ}|dkr€d}q|dkr³t j dt |ƒƒtj|ƒq|dkrt|ƒ}t j dt |ƒt |ƒfƒtj||ƒqn|r‰tj|dtjƒ}tjjtjj|jƒƒ}xtj|ƒD]ÿ\} } } d| kr~| jdƒnxl| D]d} tjj| | ƒ} |j| |ƒ} tj|jd | d ƒ}d|_|j|d ƒq…Wxb| D]Z}|tkr qôntjj| |ƒ}|j||ƒ} |j||jd | ƒqôWqSW|jƒt jd 8_t j dt |ƒƒndS(Nu %s-%s.zipu/The file %s exists. (i)gnore, (w)ipe, (b)ackup uiuwubu Deleting %suBacking up %s to %su pip-egg-infou/iíiuiuSaved %sT(uiuwubFií(!u source_diruAssertionErroruTrueunameuinstalled_versionuosupathujoinuexistsuask_path_existsu display_pathuFalseuloggeruwarnuremoveu backup_dirushutilumoveuzipfileuZipFileu ZIP_DEFLATEDunormcaseuabspathuwalku_clean_zip_nameuZipInfou external_attruwritestruPIP_DELETE_MARKER_FILENAMEuwriteucloseuindentunotify(uselfu build_dirucreate_archiveu archive_nameu archive_pathuresponseu dest_fileuzipudirudirpathudirnamesu filenamesudirnameunameuzipdirufilename((u /tmp/pip-zej_zi-build/pip/req.pyuarchivegsN      !     # uInstallRequirement.archivecCse|j|tjjƒs/td||fƒ‚|t|ƒdd…}|jtjjdƒ}|S(Nu$name %r doesn't start with prefix %riu/(u startswithuosupathusepuAssertionErrorulenureplace(uselfunameuprefix((u /tmp/pip-zej_zi-build/pip/req.pyu_clean_zip_names u"InstallRequirement._clean_zip_namecs‘|jr|j||ƒdS|jrztjj|jƒ}tjj||jƒ|j |jdˆd|ƒd|_ dSt j ddƒ}tjj|dƒ}z¹tjg}|jdƒ|jd|jƒ|t|ƒdd |g7}|js|d g7}nˆdk r&|d ˆg7}n|jr?|d g7}n |d g7}tƒr‡|dtjjtjdddtƒƒg7}ntjd|jƒtjd7_z*t||d|jd|j dd ƒWdtjd8_Xtjj"|ƒstjd|ƒdSd|_ |jr$dS‡fdd†} t#|ƒ} xN| D]1} | j$ƒ} | j%dƒrI| | ƒ} PqIqIWtj&d|ƒdS| j'ƒg} t#|ƒ} x[| D]S} | j$ƒ}tjj(|ƒrí|tjj)7}n| jt*| |ƒ| ƒƒq¶W| j'ƒt#tjj| dƒdƒ} | j+dj| ƒdƒ| j'ƒWdtjj"|ƒrtj,|ƒntj-|ƒXdS(!Nurootustrip_file_prefixu-recordupip-uinstall-record.txtu-cuimport setuptools, tokenize;__file__=%r;exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))uinstallu--recordu#--single-version-externally-managedu--rootu --compileu --no-compileu--install-headersuincludeusiteupythonuRunning setup.py install for %siucwdu filter_stdoutu show_stdoutuRecord file %s not foundcs4ˆdkstjj|ƒ r#|Stˆ|ƒSdS(N(uNoneuosupathuisabsu change_root(upath(uroot(u /tmp/pip-zej_zi-build/pip/req.pyu prepend_rootÒsu0InstallRequirement.install..prepend_rootu .egg-infou;Could not find .egg-info directory in install record for %suinstalled-files.txtuwu TF(.ueditableuinstall_editableuis_wheelupipuwheelu wheel_versionu source_dirucheck_compatibilityunameumove_wheel_filesuTrueuinstall_succeededutempfileumkdtempuosupathujoinusysu executableuappendusetup_pyulistuas_egguNoneu pycompileurunning_under_virtualenvuprefixuget_python_versionuloggerunotifyuindentucall_subprocessu_filter_installuFalseuexistsuopenustripuendswithuwarnucloseuisdirusepumake_path_relativeuwriteuremoveurmdir(uselfuinstall_optionsuglobal_optionsurootustrip_file_prefixuversionu temp_locationurecord_filenameu install_argsu prepend_rootufulineu egg_info_diru new_linesufilename((urootu /tmp/pip-zej_zi-build/pip/req.pyuinstall—sˆ                         uInstallRequirement.installcCs’|jstjj|jƒrWtjd|jƒ|jrKt|jƒnd|_n|j r…tjj|j ƒr…t|j ƒnd|_ dS(uVRemove the source files from this requirement, if they are marked for deletionuRemoving source in %sN( u is_bundleuosupathuexistsudelete_marker_filenameuloggeruinfou source_dirurmtreeuNoneu_temp_build_dir(uself((u /tmp/pip-zej_zi-build/pip/req.pyuremove_temporary_sourceôs  u*InstallRequirement.remove_temporary_sourcecCsštjd|jƒtjd7_zWttjdd|jgt|ƒddgt|ƒd|j d|j d d ƒWdtjd8_Xd |_ dS( NuRunning setup.py develop for %siu-cu‘import setuptools, tokenize; __file__=%r; exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))udevelopu --no-depsucwdu filter_stdoutu show_stdoutFT(uloggerunotifyunameuindentucall_subprocessusysu executableusetup_pyulistu source_diru_filter_installuFalseuTrueuinstall_succeeded(uselfuinstall_optionsuglobal_options((u /tmp/pip-zej_zi-build/pip/req.pyuinstall_editables7 u#InstallRequirement.install_editablecCsatj}xKddddddddgD]+}tj||jƒƒr(tj}Pq(q(W||fS( Nu ^running .*u ^writing .*u ^creating .*u^[Cc]opying .*u ^reading .*u4^removing .*\.egg-info' \(and everything under it\)$u^byte-compiling u7^warning: manifest_maker: standard file '-c' not found$(uloggeruNOTIFYureusearchustripuINFO(uselfulineuleveluregex((u /tmp/pip-zej_zi-build/pip/req.pyu_filter_installs   u"InstallRequirement._filter_installc Cs|jdkrdSyJ|jjdkrG|jrG|jjdkrGdStj|jƒ|_Wn£tj k rxdSYn‹tj k rtj|jjƒ}|j rõt |ƒr¾||_qþt ƒrþt|ƒrþtd|j|jfƒ‚qþn ||_YnXdS(u¡Find an installed distribution that satisfies or conflicts with this requirement, and set self.satisfied_by or self.conflicts_with appropriately.u setuptoolsu distributeuVWill not install to the user site because it will lack sys.path precedence to %s in %sNFT(urequNoneuFalseu project_nameuconflicts_withuTrueu pkg_resourcesuget_distributionu satisfied_byuDistributionNotFounduVersionConflictu use_user_siteudist_in_usersiteurunning_under_virtualenvudist_in_site_packagesuInstallationErrorulocation(uselfu existing_dist((u /tmp/pip-zej_zi-build/pip/req.pyucheck_if_existss(    u"InstallRequirement.check_if_existscCs|jod|jkS(Nu.whl(uurl(uself((u /tmp/pip-zej_zi-build/pip/req.pyuis_wheel=suInstallRequirement.is_wheelcCsu|jdk r|jS|j}|s)dStjjtjj|dƒƒphtjjtjj|dƒƒ|_|jS(Nupip-manifest.txtupyinstall-manifest.txtF(u _is_bundleuNoneu_temp_build_diruFalseuosupathuexistsujoin(uselfubase((u /tmp/pip-zej_zi-build/pip/req.pyu is_bundleAs !$uInstallRequirement.is_bundlec csGx|jD]õ}tjj|ƒ}xŒtjD]}d}}tjj||jƒ}tjj |ƒr,|j }t |ƒ}|j ƒ} |j ƒ|ƒj| ƒ\}}Pq,q,W|rÍd|||f}nd}t||ddd|ddd|ddƒVq Wx=|jD]2}tjj|ƒ}t||d|ddƒVq WdS( Nu%s+%s@%sueditableuurluupdateu source_diru from_bundleTF(u_bundle_editable_dirsuosupathubasenameuvcsubackendsuNoneujoinu bundle_fileuexistsunameuopenureaducloseuparse_vcs_bundle_fileuInstallRequirementuTrueuFalseu_bundle_build_dirs( uselfudest_dirupackageu vcs_backenduurlurevuvcs_bundle_fileuvc_typeufpucontent((u /tmp/pip-zej_zi-build/pip/req.pyubundle_requirementsMs,      u&InstallRequirement.bundle_requirementsc Cs|j}|st‚tjj|dƒ}tjj|dƒ}g}g}x#|||f|||fgD]\}} } tjj|ƒrjx½tj|ƒD]¬} tjj| | ƒ} | j| ƒtjj| ƒrõtj d| | |fƒq›ntjj| ƒs(tj d| ƒtj | ƒnt j tjj|| ƒ| ƒq›Wtj|ƒsmtj|ƒqmqjqjWd|_||_||_dS(NusrcubuilduZThe directory %s (containing package %s) already exists; cannot move source from bundle %suCreating directory %s(u_temp_build_diruAssertionErroruosupathujoinuexistsulistdiruappenduloggeruwarnuinfoumakedirsushutilumoveurmdiruNoneu_bundle_build_dirsu_bundle_editable_dirs( uselfudest_build_diru dest_src_dirubaseusrc_diru build_dirubundle_build_dirsubundle_editable_dirsu source_dirudest_dirudir_collectionudirnameudest((u /tmp/pip-zej_zi-build/pip/req.pyumove_bundle_filesgs4     #  u$InstallRequirement.move_bundle_filescCsAt|j|j|d|jd|jd|d|jd|ƒdS(Nuuseruhomeurootu pycompileustrip_file_prefix(umove_wheel_filesunameurequ use_user_siteu target_diru pycompile(uselfuwheeldirurootustrip_file_prefix((u /tmp/pip-zej_zi-build/pip/req.pyumove_wheel_filesƒs   u#InstallRequirement.move_wheel_filescCs%|jst‚tjj|jtƒS(N(u source_diruAssertionErroruosupathujoinuPIP_DELETE_MARKER_FILENAME(uself((u /tmp/pip-zej_zi-build/pip/req.pyudelete_marker_filenamesu)InstallRequirement.delete_marker_filenameNFT(1u__name__u __module__u __qualname__uNoneuFalseuTrueu__init__u classmethodu from_editableu from_lineu__str__u from_pathubuild_locationucorrect_build_locationupropertyunameuurl_nameusetup_pyu run_egg_infou _run_setup_pyu egg_info_datau egg_info_pathuegg_info_linesupkg_infoudependency_linksureucompileu_requirements_section_reu requirementsuabsolute_versionsuinstalled_versionuassert_source_matches_versionuupdate_editableu uninstallurollback_uninstallucommit_uninstalluarchiveu_clean_zip_nameuinstalluremove_temporary_sourceuinstall_editableu_filter_installucheck_if_existsuis_wheelu is_bundleubundle_requirementsumove_bundle_filesumove_wheel_filesudelete_marker_filename(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyuInstallRequirement?sV -*   ? *   n   ) ]  !   uInstallRequirementcBsh|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS(u RequirementscCsg|_i|_dS(N(u_keysu_dict(uself((u /tmp/pip-zej_zi-build/pip/req.pyu__init__•s uRequirements.__init__cCs|jS(N(u_keys(uself((u /tmp/pip-zej_zi-build/pip/req.pyukeys™suRequirements.keyscs‡fdd†ˆjDƒS(Ncsg|]}ˆj|‘qS((u_dict(u.0ukey(uself(u /tmp/pip-zej_zi-build/pip/req.pyu s u'Requirements.values..(u_keys(uself((uselfu /tmp/pip-zej_zi-build/pip/req.pyuvaluesœsuRequirements.valuescCs ||jkS(N(u_keys(uselfuitem((u /tmp/pip-zej_zi-build/pip/req.pyu __contains__ŸsuRequirements.__contains__cCs3||jkr"|jj|ƒn||j|«s u)Requirements.__repr__..uRequirements({%s})u, (ukeysujoin(uselfuvalues((uselfu /tmp/pip-zej_zi-build/pip/req.pyu__repr__ªsuRequirements.__repr__N( u__name__u __module__u __qualname__u__init__ukeysuvaluesu __contains__u __setitem__u __getitem__u__repr__(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyu Requirements“s      u Requirementsc BsF|EeZdZd(d)d)d)d(d)d)d)d(d*d(dd„ Zdd„Zdd„Zdd„Z e d d „ƒZ e d d „ƒZ e d d„ƒZ dd„Zd)dd„Zdd„Zd)d)dd„Zd)dd„Zdd„Zdd„Zd(d)dd„Zfdd „Zd!d"„Zd#Zd$d%„Zd&d'„Zd(S(+uRequirementSetcCsß||_||_||_|r6tjj|ƒ}n||_||_||_| |_ t ƒ|_ i|_ g|_ | |_g|_g|_g|_||_| |_||_| pÃtƒ|_| |_||_dS(N(u build_dirusrc_diru download_diruosupathu expanduserudownload_cacheuupgradeuignore_installeduforce_reinstallu Requirementsu requirementsurequirement_aliasesuunnamed_requirementsuignore_dependenciesusuccessfully_downloadedusuccessfully_installedureqs_to_cleanupuas_eggu use_user_siteu target_diru PipSessionusessionu pycompileuwheel_download_dir(uselfu build_dirusrc_diru download_dirudownload_cacheuupgradeuignore_installeduas_eggu target_diruignore_dependenciesuforce_reinstallu use_user_siteusessionu pycompileuwheel_download_dir((u /tmp/pip-zej_zi-build/pip/req.pyu__init__±s,                  uRequirementSet.__init__cCsLdd„|jjƒDƒ}|jddd„ƒdjdd„|DƒƒS(NcSsg|]}|js|‘qS((u comes_from(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu Ïs u*RequirementSet.__str__..ukeycSs |jjƒS(N(unameulower(ureq((u /tmp/pip-zej_zi-build/pip/req.pyuÑsu(RequirementSet.__str__..u cSsg|]}t|jƒ‘qS((ustrureq(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu Òs (u requirementsuvaluesusortujoin(uselfureqs((u /tmp/pip-zej_zi-build/pip/req.pyu__str__ÎsuRequirementSet.__str__cCs¿|j}|j|_|j|_|j|_|j|_|sR|jj|ƒni|j|ƒr†td||j |ƒ|fƒ‚n||j |<|j ƒ|kr»||j |j ƒósu/RequirementSet.has_editables..css|]}|jVqdS(N(ueditable(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu õsTF(uanyu requirementsuvaluesuTrueuunnamed_requirementsuFalse(uself((u /tmp/pip-zej_zi-build/pip/req.pyu has_editablesñs "uRequirementSet.has_editablescCsg|jrctjj|jƒ|_tjj|jƒr:dStjdƒtdt |jƒƒ‚ndS(Nu!Could not find download directoryu0Could not find or access download directory '%s'TF( u download_diruosupathu expanduseruexistsuTrueuloggerufataluInstallationErroru display_pathuFalse(uself((u /tmp/pip-zej_zi-build/pip/req.pyu is_downloadùs  uRequirementSet.is_downloadcCslxU||jƒfD]A}||jkr3|j|S||jkr|j|j|SqWtd|ƒ‚dS(NuNo project with the name %r(uloweru requirementsurequirement_aliasesuKeyError(uselfu project_nameuname((u /tmp/pip-zej_zi-build/pip/req.pyuget_requirements  uRequirementSet.get_requirementcCs8x1|jjƒD] }|jd|ƒ|jƒqWdS(Nu auto_confirm(u requirementsuvaluesu uninstallucommit_uninstall(uselfu auto_confirmureq((u /tmp/pip-zej_zi-build/pip/req.pyu uninstallsuRequirementSet.uninstallcCsŽt|jƒ}t|jjƒƒ}xc|s3|r‰|rK|jdƒ}n|jdƒ}d}|j rí|j rí|jƒ|j rÍ|j rÄ|j o¦t |j ƒ s¸|j |_ nd|_ qÍd}n|j rítjd|ƒqín|jr |jdkrE|j|jƒ|_qEn%|rE|j|j|j ƒ|_n|jdk r'tjj|jƒ r'td||jfƒ‚q'q'WdS(Niu<Requirement already satisfied (use --upgrade to upgrade): %su¨Could not install requirement %s because source folder %s does not exist (perhaps --no-download was used without first running an equivalent install with --no-install?)TF(ulistuunnamed_requirementsu requirementsuvaluesupopuTrueuignore_installedueditableucheck_if_existsu satisfied_byuupgradeu use_user_siteudist_in_usersiteuconflicts_withuNoneuFalseuloggerunotifyu source_dirubuild_locationusrc_diru build_diru is_downloaduosupathuisdiruInstallationError(uselfuunnamedureqsureq_to_installuinstall_needed((u /tmp/pip-zej_zi-build/pip/req.pyu locate_filess4        %uRequirementSet.locate_filesc1Cs«t|jƒ}t|jjƒƒ}x€|s3|r¦|rK|jdƒ}n|jdƒ}d}d}d} |j rš|j rš|j ƒ|j r`|j rW|j r|j ry|j||j ƒ} Wn?tk réd}d}Yqtk r tjƒd} YqX| j|_n|s]|jo6t|j ƒ sH|j |_nd|_ q]q`d}n|j rš|rƒtjd|ƒq—tjd|ƒqšn|j r·tjd|ƒn^|r|jr|jjƒjdƒrtjdtt|jƒƒƒqtjd|ƒntjd 7_zld} d} |j rÛ|jdkri|j|j ƒ} | |_n |j} t!j"j#|j$ƒs—t%|j$ƒn|j&|j' ƒ|j'rÎ|j(ƒ|j)|j*ƒq1|j(ƒnV|r1|j|j$|j' ƒ} d}d} |j+rnWt!j"j#t!j"j,| d ƒƒrUt-t.j/d || fƒƒ‚n|jdkrŽ| rs| ‚n|j|d |j ƒ} nt0|jƒ} | s©t1‚| rcyY| j2j3t4ƒrß|j5rß|j5}d}n|j*}|j'}|j6| | ||ƒWqit7k r_}z5tj8d ||fƒt9d||| fƒ‚WYdd}~XqiXnd}|r1|j:} | o| j2j3t4ƒ} | rà|j;|j$|j ƒxý|j<ƒD] }|j=|ƒ|j>|ƒq¹WnÌ|j'r3| |_| s|j(ƒn| r¬| j?t@jAkr¬|j)|j*ƒq¬ny| rQ| |_| j|_n[| |_|j(ƒ|r}|j(ddƒn|jBƒ|r¬|jr¬|jC|ƒd}n|jsÂ|j ƒn|j r.|j sÝ|jr|joót|j ƒ s|j |_nd|_ q+tjd|ƒd}q.q1n| rëttDjE| ƒƒd}|jFsx|jGƒ|_F|j>|ƒn|jHsxd|jI|jJƒD]M}|jK|jLƒr²q”ntMtN|ƒ|ƒ}|j=|ƒ|j>|ƒq”Wqn&| s|jO|jPƒ|jJr*tjddj,|jJƒƒn|jHsìx¶|j|jJƒD]Ÿ}ytDjQjR|ƒjL}Wn?tSk r¦tjƒd}tjTd|||fƒwFYnX|jK|ƒr¼qFntM||ƒ}|j=|ƒ|j>|ƒqFWn|jK|jUƒs|j>|ƒqn| sE|j's/|jVdk rE|jWj=|ƒqEn|r|jXj=|ƒ|r|jr|jjdƒr|jC|ƒqnWdtjd 8_Xq'WdS(uGPrepare process. Create temp directories, download and/or unpack files.iiu"Requirement already up-to-date: %su<Requirement already satisfied (use --upgrade to upgrade): %su Obtaining %sufile:u Unpacking %suDownloading/unpacking %siusetup.pyu‘ pip can't proceed with requirement '%s' due to a pre-existing build directory. location: %s This is likely due to a previous installation that failed. pip is being responsible and not assuming it can delete this. Please delete it and try again. uupgradeu4Could not install requirement %s because of error %suDCould not install requirement %s because of HTTP error %s for URL %sNuforce_root_egg_infou!Installing extra requirements: %ru,u.Invalid requirement: %r (%s) in requirement %sufile:///TF(Yulistuunnamed_requirementsu requirementsuvaluesupopuTrueuFalseuNoneuignore_installedueditableucheck_if_existsu satisfied_byuupgradeuforce_reinstalluurlufind_requirementuBestVersionAlreadyInstalleduDistributionNotFoundusysuexc_infou use_user_siteudist_in_usersiteuconflicts_withuloggerunotifyuloweru startswithu display_pathu url_to_pathuindentu source_dirubuild_locationusrc_diruosupathuexistsu build_diru_make_build_diruupdate_editableu is_downloadu run_egg_infouarchiveu download_diru from_bundleujoinuPreviousBuildDirErrorutextwrapudedentuLinkuAssertionErrorufilenameuendswithu wheel_extuwheel_download_diru unpack_urlu HTTPErrorufataluInstallationErroru is_bundleumove_bundle_filesubundle_requirementsuappenduadd_requirementuschemeuvcsu all_schemesuassert_source_matches_versionucopy_to_build_diru pkg_resourcesufind_distributionsurequas_requirementuignore_dependenciesurequiresuextrasuhas_requirementu project_nameuInstallRequirementustruadd_dependency_linksudependency_linksu Requirementuparseu ValueErroruerrorunameu_temp_build_dirureqs_to_cleanupusuccessfully_downloaded(uselfufinderuforce_root_egg_infoubundleuunnamedureqsureq_to_installuinstallubest_installedu not_founduurlu is_bundleuis_wheelulocationuunpacku download_diru do_downloaduexcueusubrequdisturequname((u /tmp/pip-zej_zi-build/pip/req.pyu prepare_files:sV            !#       !          )                            !uRequirementSet.prepare_filescCsÌtjdƒtjd7_x|jD]}|jƒq&Wg}|jƒr_|j|jƒn|rx|j|jƒnx>|D]6}t j j |ƒrtj d|ƒt |ƒqqWtjd8_dS(uClean up files, remove builds.uCleaning up...iuRemoving temporary dir %s...N(uloggerunotifyuindentureqs_to_cleanupuremove_temporary_sourceu_pip_has_created_build_diruappendu build_dirusrc_diruosupathuexistsuinfourmtree(uselfubundleurequ remove_dirudir((u /tmp/pip-zej_zi-build/pip/req.pyu cleanup_files's   uRequirementSet.cleanup_filescCs1|jtko0tjjtjj|jtƒƒS(N(u build_diru build_prefixuosupathuexistsujoinuPIP_DELETE_MARKER_FILENAME(uself((u /tmp/pip-zej_zi-build/pip/req.pyu_pip_has_created_build_dir>su)RequirementSet._pip_has_created_build_dircCs‡|jr|jp|j}tjd|j|fƒtjj||jƒ}t j |j |ƒt dd|dgd|ddƒdS(NuCopying %s to %supythonu %s/setup.pyucleanucwdu command_descupython setup.py clean( ueditableusrc_diru build_diruloggeruinfounameuosupathujoinushutilucopytreeu source_dirucall_subprocess(uselfureq_to_installu target_dirudest((u /tmp/pip-zej_zi-build/pip/req.pyucopy_to_build_dirBs u RequirementSet.copy_to_build_dircCs±|dkr|j}nt|ƒrL|r3|}n|}t|||ƒnat|ƒr~t|||ƒ|r­t|ƒq­n/t|||j||j ƒ|r­t|ƒndS(N( uNoneu download_diru is_vcs_urluunpack_vcs_linku is_file_urluunpack_file_urluwrite_delete_marker_fileuunpack_http_urludownload_cacheusession(uselfulinkulocationu download_diru only_downloaduloc((u /tmp/pip-zej_zi-build/pip/req.pyu unpack_urlJs&      uRequirementSet.unpack_urlc "Osdd„|jjƒDƒ}tjjdƒ}xI|D]A}|jdkr5|j|kr5|j|ƒ|j|ƒq5q5W|rªt j ddj dd„|Dƒƒƒnt j d7_ zCx<|D]4}|jd kr0y=tjjd ƒ} tj dƒ} | | kr| |_nWq0tjk r,Yq0Xn|jr†t j d |jƒt j d7_ z|jd dƒWd t j d8_ Xny|j||||ŽWn+|jrÆ|j rÆ|jƒn‚Yn X|jrí|jrí|jƒn|jƒqÃWWd t j d8_ X||_d S(uRInstall everything in this set (after having downloaded and unpacked the packages)cSsg|]}|js|‘qS((u satisfied_by(u.0ur((u /tmp/pip-zej_zi-build/pip/req.pyu ks u*RequirementSet.install..udistribute>=0.7u distributeu!Installing collected packages: %su, cSsg|]}|j‘qS((uname(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu {s iu setuptoolsudistribute<0.7uFound existing installation: %su auto_confirmNT(u requirementsuvaluesu pkg_resourcesu Requirementuparseunameuinstalled_versionuremoveuappenduloggerunotifyujoinuindentuget_distributionuconflicts_withuDistributionNotFoundu uninstalluTrueuinstalluinstall_succeededurollback_uninstallucommit_uninstalluremove_temporary_sourceusuccessfully_installed( uselfuinstall_optionsuglobal_optionsuargsukwargsu to_installudistribute_requrequ requirementudistribute_requirementuexisting_distribute((u /tmp/pip-zej_zi-build/pip/req.pyuinstallisJ   *       uRequirementSet.installcCstj|dtjƒ}g}xJ|jdf|jdffD]*\}}tjjtjj|ƒƒ}xýtj |ƒD]ì\}}}xÀt j D]µ} | ƒ} d} } | j |krxR|D]} |j| ƒr¿Pq¿q¿W| jtjj||ƒƒ\} } |j|ƒ| j}| ji| d6| d6}|j| j ƒPqqWd|kre|jdƒnxQ|D]I}tjj||ƒ}|j||ƒ}|j|d|ddƒqlWx_|D]W}|tkrØqÀntjj||ƒ}|j||ƒ}|j||d|ƒqÀW| rwtjj||ƒ}|j||ƒ}|j|d||ƒqwqwWq=W|jd |jƒƒ|jƒdS( Nuwubuildusrcuurlurevu pip-egg-infou/uupip-manifest.txt(uzipfileuZipFileu ZIP_DEFLATEDu build_dirusrc_diruosupathunormcaseuabspathuwalkuvcsubackendsuNoneudirnameu startswithuget_infoujoinuappendu bundle_fileuguideuremoveu_clean_zip_nameuwritestruPIP_DELETE_MARKER_FILENAMEuwriteubundle_requirementsuclose(uselfubundle_filenameuzipuvcs_dirsudirubasenameudirpathudirnamesu filenamesubackendu vcs_backenduvcs_urluvcs_revuvcs_diruvcs_bundle_fileu vcs_guideudirnameunameufilename((u /tmp/pip-zej_zi-build/pip/req.pyu create_bundle®sL+           #uRequirementSet.create_bundleuÝ# This is a pip bundle file, that contains many source packages # that can be installed as a group. You can install this like: # pip this_file.zip # The rest of the file contains a list of all the packages included: cCs®|jg}xAdd„|jjƒDƒD]#}|jd|j|jfƒq)W|jdƒxAdd„|jjƒDƒD]#}|jd|j|jfƒqzWdj|ƒS(NcSsg|]}|js|‘qS((u comes_from(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu és u6RequirementSet.bundle_requirements..u%s==%s uC# These packages were installed to satisfy the above requirements: cSsg|]}|jr|‘qS((u comes_from(u.0ureq((u /tmp/pip-zej_zi-build/pip/req.pyu ís u(u BUNDLE_HEADERu requirementsuvaluesuappendunameuinstalled_versionujoin(uselfupartsureq((u /tmp/pip-zej_zi-build/pip/req.pyubundle_requirementsçs #! #!u"RequirementSet.bundle_requirementscCse|j|tjjƒs/td||fƒ‚|t|ƒdd…}|jtjjdƒ}|S(Nu$name %r doesn't start with prefix %riu/(u startswithuosupathusepuAssertionErrorulenureplace(uselfunameuprefix((u /tmp/pip-zej_zi-build/pip/req.pyu_clean_zip_nameós uRequirementSet._clean_zip_nameNFT(u__name__u __module__u __qualname__uNoneuFalseuTrueu__init__u__str__uadd_requirementuhas_requirementupropertyuhas_requirementsu has_editablesu is_downloaduget_requirementu uninstallu locate_filesu prepare_filesu cleanup_filesu_pip_has_created_build_dirucopy_to_build_diru unpack_urluinstallu create_bundleu BUNDLE_HEADERubundle_requirementsu_clean_zip_name(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyuRequirementSet¯s2       'í  E 7 uRequirementSetcCstj|ƒt|ƒdS(N(uosumakedirsuwrite_delete_marker_file(u build_dir((u /tmp/pip-zej_zi-build/pip/req.pyu_make_build_dirûs u_make_build_diru^(http|https|file):ccs|dkrtƒ}nd}|r-|jnd}|rKtj|ƒ}ntjjtjj|ƒƒ}t |d|d|ƒ\}}xzt |j ƒƒD]f\} } | d7} | j ƒ} tj dd| ƒ} | sš| jdƒríqšn|r|j| ƒrqšn| jdƒs&| jdƒrþ| jdƒrN| d d…j ƒ} n%| tdƒd…j ƒj d ƒ} tj|ƒr—tj|| ƒ} n3tj| ƒsÊtjjtjj|ƒ| ƒ} nx3t| |d|d |d|ƒD] } | VqìWqš| jd ƒs| jd ƒrqš| jdƒs=| jdƒrÖ| jdƒre| d d…j ƒ} n%| tdƒd…j ƒjd ƒ} tjj|| ƒ} tjj| ƒrº| } n|r|jj| ƒqqš| jdƒsô| jdƒrY| jdƒr| d d…j ƒ} n%| tdƒd…j ƒjd ƒ} |r| g|_qqš| jdƒr©| tdƒd…j ƒjd ƒ} |r|jj| ƒqqš| jdƒrÄd!|_qš| jdƒrßg|_qš| jdƒr:| tdƒd…j ƒjd ƒ} |jtt| ƒj ƒgƒO_qš| jdƒrUd!|_!qš| jdƒrgqš| jdƒryqš| jdƒrÔ| tdƒd…j ƒjd ƒ} |j"tt| ƒj ƒgƒO_"qš| jdƒr/| tdƒd…j ƒjd ƒ} |j"tt| ƒj ƒgƒO_"qšd|| f}| jdƒs]| jdƒr×| jdƒr…| d d…j ƒ} n%| tdƒd…j ƒjd ƒ} t#j$| d|d|rË|j%ndƒ}n$t#j&| |dt'|d dƒƒ}|VqšWdS("Nu comes_fromusessioniu (^|\s)#.*$uu#u-ru --requirementiu=uoptionsu-Zu--always-unzipu-fu --find-linksu-iu --index-urlu--extra-index-urlu --use-wheelu --no-indexu--allow-externalu--allow-all-externalu--no-allow-externalu--no-allow-insecureu--allow-insecureu--allow-unverifiedu-r %s (line %s)u-eu --editableu default_vcsu prereleasesupreT((uNoneu PipSessionuskip_requirements_regexureucompileuosupathudirnameuabspathuget_file_contentu enumerateu splitlinesustripusubu startswithusearchulenu _scheme_reuurlparseuurljoinujoinuparse_requirementsulstripuexistsu find_linksuappendu index_urlsuTrueu use_wheeluallow_externalusetunormalize_nameuloweruallow_all_externaluallow_unverifieduInstallRequirementu from_editableu default_vcsu from_lineugetattr(ufilenameufinderu comes_fromuoptionsusessionu skip_matchu skip_regexu reqs_file_dirucontentu line_numberulineureq_urluitemurelative_to_reqs_fileureq((u /tmp/pip-zej_zi-build/pip/req.pyuparse_requirementssš     %$( % %%  %' %'%'%'$uparse_requirementscCs.tjd|ƒ}|r*|jdƒ}n|S(u2 Strip req postfix ( -dev, 0.2, etc ) u^(.*?)(?:-dev|-\d.*)$i(ureusearchugroup(urequmatch((u /tmp/pip-zej_zi-build/pip/req.pyu_strip_postfixgsu_strip_postfixcCspdd„|jddƒdjdƒDƒ}d}|ddkrO|d}n|dd krl|d}n|S(NcSsg|]}|r|‘qS(((u.0up((u /tmp/pip-zej_zi-build/pip/req.pyu ts u'_build_req_from_url..u#iiu/iutagsubranchesutagubranchiutrunkiþÿÿÿ(utagsubranchesutagubranchiýÿÿÿiÿÿÿÿiþÿÿÿ(usplituNone(uurlupartsureq((u /tmp/pip-zej_zi-build/pip/req.pyu_build_req_from_urlrs,  u_build_req_from_urlcCs{tjdƒ}|j|ƒ}|rwtƒ}xC|D];}|\}}||kretd|ƒ‚n|||[^&=]+)=(?P[^&=]+)u%s option already definedN(ureucompileufindalludictu ExceptionuNone(urequregexpumatcheduretuoptionunameuvalue((u /tmp/pip-zej_zi-build/pip/req.pyu_build_editable_options}s    u_build_editable_optionsc Csm|}d}tjd|ƒ}|rE|jdƒ}|jdƒ}n|}tjj|ƒr tjjtjj|dƒƒs‘t d|ƒ‚nt |ƒ}n|j ƒj dƒrë|rÛd|t jjd|ƒjfSd|dfSnx;tD]3}|j ƒj d|ƒròd ||f}PqòqòWd |kr_|rL|d |}q_t d |ƒ‚n|jd dƒd j ƒ}tj|ƒsÄd |djdd„tjDƒƒd}t |ƒ‚nyt|ƒ} Wn8tk rtjƒd} t d|| fƒ‚YnX| s"d| krJt|ƒ} | sTt d|ƒ‚qTn | d} t| ƒ} | || fS(uSParses svn+http://blahblah@rev#egg=Foobar into a requirement (Foobar) and a URLu^(.+)(\[[^\]]+\])$iiusetup.pyu;Directory %r is not installable. File 'setup.py' not found.ufile:u__placeholder__u%s:u%s+%su+ub%s should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+iuFor --editable=%s only u, cSsg|]}|jd‘qS(u+URL(uname(u.0ubackend((u /tmp/pip-zej_zi-build/pip/req.pyu ¼s u"parse_editable..u is currently supportedu*--editable=%s error in editable options:%sueggu@--editable=%s is not the right format; it must have #egg=PackageN(uNoneureumatchugroupuosupathuisdiruexistsujoinuInstallationErroru path_to_urluloweru startswithu pkg_resourcesu Requirementuparseuextrasuvcsusplitu get_backendubackendsu_build_editable_optionsu Exceptionusysuexc_infou_build_req_from_urlu_strip_postfix( u editable_requ default_vcsuurluextrasumu url_no_extrasuversion_controluvc_typeu error_messageuoptionsumessageurequpackage((u /tmp/pip-zej_zi-build/pip/req.pyuparse_editable‘sT!   $    uparse_editablecBs•|EeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z ddd„Z dd„Z dd„ZdS(uUninstallPathSetuMA set of file paths to be removed in the uninstallation of a requirement.cCs@tƒ|_tƒ|_i|_||_d|_g|_dS(N(usetupathsu_refuseupthudistuNoneusave_diru _moved_paths(uselfudist((u /tmp/pip-zej_zi-build/pip/req.pyu__init__Õs      uUninstallPathSet.__init__cCs t|ƒS(us Return True if the given path is one we are permitted to remove/modify, False otherwise. (uis_local(uselfupath((u /tmp/pip-zej_zi-build/pip/req.pyu _permittedÝsuUninstallPathSet._permittedcCsFt|jƒsBtjd|jjt|jjƒtjfƒdSdS(Nu1Not uninstalling %s at %s, outside environment %sFT( u dist_is_localudistuloggerunotifyu project_nameunormalize_pathulocationusysuprefixuFalseuTrue(uself((u /tmp/pip-zej_zi-build/pip/req.pyu_can_uninstallås  &uUninstallPathSet._can_uninstallcCs“t|ƒ}tjj|ƒs"dS|j|ƒrD|jj|ƒn|jj|ƒtjj|ƒddkrt r|jt j |ƒƒndS(Niu.py( unormalize_pathuosupathuexistsu _permittedupathsuaddu_refuseusplitextu uses_pycacheuimpucache_from_source(uselfupath((u /tmp/pip-zej_zi-build/pip/req.pyuaddìs "uUninstallPathSet.addcCskt|ƒ}|j|ƒrW||jkr@t|ƒ|j| s u,UninstallPathSet.compact..(usetusortedulenuanyuadd(uselfupathsu short_paths((upathu /tmp/pip-zej_zi-build/pip/req.pyucompacts   uUninstallPathSet.compactcCs5tjj|jtjj|ƒdjtjjƒƒS(Ni(uosupathujoinusave_diru splitdriveulstripusep(uselfupath((u /tmp/pip-zej_zi-build/pip/req.pyu_stashs uUninstallPathSet._stashc Cs¿|jƒsdS|js4tjd|jjƒdStjd|jjƒtjd7_t|j|jƒƒ}z6|r„d}n-x|D]}tj|ƒq‹Wt ddƒ}|j rôtjdƒx*|j|j ƒD]}tj|ƒqÚWn|dkr§t j d d d d ƒ|_ xK|D]C}|j|ƒ}tjd |ƒ|jj|ƒt||ƒq"Wx!|jjƒD]}|jƒqyWtjd|jjƒnWdtjd8_XdS(u[Remove paths in ``self.paths`` with confirmation (unless ``auto_confirm`` is True).Nu7Can't uninstall '%s'. No files were found to uninstall.uUninstalling %s:iuyuProceed (y/n)? unu.Not removing or modifying (outside of prefix):usuffixu -uninstalluprefixupip-uRemoving file or directory %suSuccessfully uninstalled %s(uyun(u_can_uninstallupathsuloggerunotifyudistu project_nameuindentusorteducompactuasku_refuseutempfileumkdtempusave_diru_stashuinfou _moved_pathsuappendurenamesupthuvaluesuremove(uselfu auto_confirmupathsuresponseupathunew_pathupth((u /tmp/pip-zej_zi-build/pip/req.pyuremoves<         uUninstallPathSet.removecCs¤|jdkr*tjd|jjƒdStjd|jjƒx>|jD]3}|j |ƒ}tj d|ƒt ||ƒqKWx|j D]}|j ƒqŒWdS(u1Rollback the changes previously made by remove().u'Can't roll back %s; was not uninstalleduRolling back uninstall of %su Replacing %sNF(usave_diruNoneuloggeruerrorudistu project_nameuFalseunotifyu _moved_pathsu_stashuinfourenamesupthurollback(uselfupathutmp_pathupth((u /tmp/pip-zej_zi-build/pip/req.pyurollback9suUninstallPathSet.rollbackcCs5|jdk r1t|jƒd|_g|_ndS(u?Remove temporary save dir: rollback will no longer be possible.N(usave_diruNoneurmtreeu _moved_paths(uself((u /tmp/pip-zej_zi-build/pip/req.pyucommitFs  uUninstallPathSet.commitNF(u__name__u __module__u __qualname__u__doc__u__init__u _permittedu_can_uninstalluadduadd_pthucompactu_stashuFalseuremoveurollbackucommit(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyuUninstallPathSetÒs     % uUninstallPathSetcBsD|EeZdZdd„Zdd„Zdd„Zdd„Zd S( uUninstallPthEntriescCsGtjj|ƒs%td|ƒ‚n||_tƒ|_d|_dS(Nu.Cannot remove entries from nonexistent file %s( uosupathuisfileuUninstallationErrorufileusetuentriesuNoneu _saved_lines(uselfupth_file((u /tmp/pip-zej_zi-build/pip/req.pyu__init__Os   uUninstallPthEntries.__init__cCsatjj|ƒ}tjdkrMtjj|ƒd rM|jddƒ}n|jj|ƒdS(Nuwin32iu\u/( uosupathunormcaseusysuplatformu splitdriveureplaceuentriesuadd(uselfuentry((u /tmp/pip-zej_zi-build/pip/req.pyuaddVs&uUninstallPthEntries.addc Csïtjd|jƒt|jdƒ}|jƒ}||_|jƒtdd„|Dƒƒrgd}nd}xR|jD]G}y,tjd|ƒ|j t ||ƒƒWqwt k r½YqwXqwWt|jdƒ}|j |ƒ|jƒdS( NuRemoving pth entries from %s:urbcss!|]}tdƒ|kVqdS(u N(ub(u.0uline((u /tmp/pip-zej_zi-build/pip/req.pyu gsu-UninstallPthEntries.remove..u u uRemoving entry: %suwb( uloggeruinfoufileuopenu readlinesu _saved_linesucloseuanyuentriesuremoveubu ValueErroru writelines(uselfufhulinesuendlineuentry((u /tmp/pip-zej_zi-build/pip/req.pyuremove`s"       uUninstallPthEntries.removecCsk|jdkr'tjd|jƒdStjd|jƒt|jdƒ}|j|jƒ|j ƒdS(Nu.Cannot roll back changes to %s, none were madeu!Rolling %s back to previous stateuwbFT( u _saved_linesuNoneuloggeruerrorufileuFalseuinfouopenu writelinesucloseuTrue(uselfufh((u /tmp/pip-zej_zi-build/pip/req.pyurollbackus uUninstallPthEntries.rollbackN(u__name__u __module__u __qualname__u__init__uadduremoveurollback(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyuUninstallPthEntriesNs  uUninstallPthEntriescBs>|EeZdZdZdd„Zdd„Zdd„ZdS( uFakeFileuQWrap a list of lines in an object with readline() to make ConfigParser happy.cCsdd„|Dƒ|_dS(Ncss|] }|VqdS(N((u.0ul((u /tmp/pip-zej_zi-build/pip/req.pyu „su$FakeFile.__init__..(u_gen(uselfulines((u /tmp/pip-zej_zi-build/pip/req.pyu__init__ƒsuFakeFile.__init__cCsTy7yt|jƒSWntk r5|jjƒSYnXWntk rOdSYnXdS(Nu(unextu_genu NameErroru StopIteration(uself((u /tmp/pip-zej_zi-build/pip/req.pyureadline†s  uFakeFile.readlinecCs|jS(N(u_gen(uself((u /tmp/pip-zej_zi-build/pip/req.pyu__iter__suFakeFile.__iter__N(u__name__u __module__u __qualname__u__doc__u__init__ureadlineu__iter__(u __locals__((u /tmp/pip-zej_zi-build/pip/req.pyuFakeFile€s  uFakeFile(cu email.parseru FeedParseruosuimpulocaleureusysushutilutempfileutextwrapuzipfileudistutils.utilu change_rootu pip.locationsubin_pyurunning_under_virtualenvuPIP_DELETE_MARKER_FILENAMEuwrite_delete_marker_fileubin_userupip.exceptionsuInstallationErroruUninstallationErroruUnsupportedWheeluBestVersionAlreadyInstalleduInvalidWheelFilenameuDistributionNotFounduPreviousBuildDirErrorupip.vcsuvcsupip.loguloggerupip.utilu display_pathurmtreeuaskuask_path_existsu backup_diruis_installable_diruis_localu dist_is_localudist_in_usersiteudist_in_site_packagesurenamesunormalize_pathu egg_link_pathumake_path_relativeucall_subprocessu is_prereleaseunormalize_nameupip.backwardcompatuurlparseuurllibu uses_pycacheu ConfigParseru string_typesu HTTPErroruget_python_versionubu pip.indexuLinku build_prefixu pip.downloadu PipSessionuget_file_contentuis_urlu url_to_pathu path_to_urluis_archive_fileuunpack_vcs_linku is_vcs_urlu is_file_urluunpack_file_urluunpack_http_urlu pip.wheelupipumove_wheel_filesuWheelu wheel_extu pip._vendoru pkg_resourcesusixuread_text_fileuobjectuInstallRequirementu RequirementsuRequirementSetu_make_build_dirucompileuIu _scheme_reuNoneuparse_requirementsu_strip_postfixu_build_req_from_urlu_build_editable_optionsuparse_editableuUninstallPathSetuUninstallPthEntriesuFakeFile(((u /tmp/pip-zej_zi-build/pip/req.pyusT         (4p:L  ÿÿÿWÿÿN  c A|2