Current File : //proc/3/root/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyo
�
�wMVc@sGddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlmZddl
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;ddl
m<Z<ddl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHddlIZJdd
lImKZKmLZLmMZMddlNmOZOmPZPd�ZQdeRfd��YZSdeRfd��YZTdeRfd��YZUd�ZVejWdejX�ZYeZeZeZeZd�Z[d�Z\d�Z]d�Z^eZd�Z_deRfd��YZ`deRfd ��YZad!eRfd"��YZbdS(#i����(t
FeedParserN(tchange_root(tbin_pytrunning_under_virtualenvtPIP_DELETE_MARKER_FILENAMEtwrite_delete_marker_filetbin_user(tInstallationErrortUninstallationErrortUnsupportedWheeltBestVersionAlreadyInstalledtInvalidWheelFilenametDistributionNotFoundtPreviousBuildDirError(tvcs(tlogger(tdisplay_pathtrmtreetasktask_path_existst
backup_dirtis_installable_dirtis_localt
dist_is_localtdist_in_usersitetdist_in_site_packagestrenamestnormalize_patht
egg_link_pathtmake_path_relativetcall_subprocesst
is_prereleasetnormalize_name(turlparseturllibtuses_pycachetConfigParsertstring_typest HTTPErrortget_python_versiontb(tLink(tbuild_prefix(t
PipSessiontget_file_contenttis_urlturl_to_pathtpath_to_urltis_archive_filetunpack_vcs_linkt
is_vcs_urltis_file_urltunpack_file_urltunpack_http_url(tmove_wheel_filestWheelt wheel_ext(t
pkg_resourcestsixcCs|t|d��}|j�}WdQXdtjt�dg}x9|D]1}y|j|�}Wntk
rrqCnXPqCW|S(sQReturn 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.
trbNsutf-8tlatin1(topentreadtlocaletgetpreferredencodingtFalsetdecodetUnicodeDecodeError(tfilenametfptdatat encodingstenc((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytread_text_file's
tInstallRequirementc
Bs�eZd'ed'eed'd'eed� Zed'd'd��Zed'd'd��Zd�Z d�Z
ed�Zd�Ze
d��Ze
d��Ze
d ��Zed
�ZdZd�Zd
�Zd�Zd�Ze
d��Zejd�Zd(d�Ze
d��Ze
d��Zd�Zed�Zed�Z d�Z!d�Z"d�Z#d�Z$d)d'd'd�Z%d�Z&d*d�Z'd�Z(d �Z)e
d!��Z*e
d"��Z+d#�Z,d$�Z-d'd'd%�Z.e
d&��Z/RS(+c
Csld|_t|t�r9tjj|�}|j|_n||_||_||_||_ | dkrri} n| |_||_||_
d|_d|_d|_d|_d|_||_d|_d|_t|_d|_|
|_||_|rt|_n]|jdk r_tg|jjD]&}t|d�oM|ddk^q*�|_n t|_dS(Niis!=(( textrast
isinstanceR%R9tRequirementtparsetreqt
comes_fromt
source_dirteditabletNoneteditable_optionsturltas_eggt_egg_info_pathtsatisfied_bytconflicts_witht_temp_build_dirt
_is_bundletupdatetinstall_succeededtuninstalledRAt
use_user_sitet
target_dirtfrom_bundlet pycompiletTruetprereleasestanytspecsR(
tselfRORPRQRRRURVR\RdRTRaRbtx((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__init__As< Ec
Cs�t||�\}}}|jd�r6t|�}nd}|||d|dtd|d|dt�}|dk r�||_n|S(Nsfile:RQRRRURTRd(tparse_editablet
startswithR.RSRcRK( tclsteditable_reqRPtdefault_vcstnameRUtextras_overrideRQtres((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
from_editableps c Cs�d }|j�}d }tjjtjj|��}d }t|�rWt|�}n�tjj|�r�tjj |ks�|j
d�r�t|�s�td|��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(
s�Creates an InstallRequirement from a name, which might be a
requirement, directory containing 'setup.py', filename, or URL.
t.s;Directory %r is not installable. File 'setup.py' not found.sARequirement %r looks like a filename, but the file does not existtfiles\.\./s-%s is not a supported wheel on this platform.RURdN(RStstriptostpathtnormpathtabspathR-R)tisdirtsepRkRRR/R0tisfileRtwarnturl_without_fragmenttegg_fragmenttschemetretsearchtextR8R7RDt supportedR ( RlRoRPRdRURORwtlinktwheel((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt from_line�s43 !*cCs�|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(Ns from %ss in %ss
(from %s)(ROtstrRURXRSRtlocationRPRLR%t from_path(RgtsRP((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__str__�s cCsv|jdkrdSt|j�}|jrrt|jt�rI|j}n|jj�}|rr|d|7}qrn|S(Ns->(RORSR�RPRLR%R�(RgR�RP((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��s cCs�|jdk r|jS|jdkrJtjdd�|_||_|jS|jre|jj�}n |j}t j
j|�s�t|�nt j
j
||�S(Ns-buildspip-(RZRSROttempfiletmkdtempt_ideal_build_dirRRRotlowerRvRwtexistst_make_build_dirtjoin(Rgt build_dirtunpackRo((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytbuild_location�s
cCs|jdk rdS|j}|j}|`|jrF|jj�}n |j}tjj ||�}tjj
|�s�tjd|�t
|�ntjj
|�r�tdt|���ntjd|t|�t|�f�tj||�||_||_d|_dS(skIf the build location was a temporary directory, this will move it
to a new more permanent locationNsCreating directory %ss<A package already exists in %s; please remove it to continues,Moving package %s from %s to new location %s(RQRSRZR�RRRoR�RvRwR�R�RtdebugR�RRtshutiltmoveRW(Rgtold_locationt
new_build_dirRotnew_location((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytcorrect_build_location�s,
cCs|jdkrdS|jjS(N(RORStproject_name(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRo�scCs&|jdkrdStj|jj�S(N(RORSR"tquotetunsafe_name(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyturl_namescCs�yddl}Wntk
r/td��nXd}|jrsd|jkrstjj|j|jd|�}ntjj|j|�}tj r�t
|tj�r�|jt
j��}n|S(Ni����sBsetuptools must be installed to install from a source distributionssetup.pytsubdirectory(t
setuptoolstImportErrorRRTRvRwR�RQR:tPY2RLt text_typetencodetsystgetfilesystemencoding(RgR�t
setup_filetsetup_py((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s
cCs�|jr)tjd|j|jf�ntjd|j|jf�tjd7_z>|jdkr�tjjtjj |j
d��r�ttjj |j
d��n|j}|j
dt|j��}|j
dt|j��}tjd |d
g}|js|rg}nFtjj |j
d�}tjj|�sQtj|�nddg}t||d
|j
d|jdtdtjdd�Wdtjd8_X|js�tjjd|j��|_|j�ndS(Ns2Running setup.py (path:%s) egg_info for package %ss7Running setup.py (path:%s) egg_info for package from %sit
distributeR�sdistribute.egg-infot__SETUP_PY__t__PKG_NAME__s-ctegg_infospip-egg-infos
--egg-basetcwdt
filter_stdouttshow_stdoutt
command_leveltcommand_descspython setup.py egg_infos%(Name)s==%(Version)s(RoRtnotifyR�RUtindentRvRwRzR�RQRt
_run_setup_pytreplacetreprR�t
executableRRR�tmakedirsRt_filter_installRAt
VERBOSE_DEBUGROR9RMRNtpkg_infoR�(Rgtforce_root_egg_infotscripttegg_info_cmdtegg_base_optiontegg_info_dir((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytrun_egg_info!s6 4
s}
__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'))
cCsj|jdk r5|jj|�s%dS|jj|�S|j|�}tjj|�sZdSt|�}|S(N( RXRSthas_metadatatget_metadatat
egg_info_pathRvRwR�RI(RgRDRF((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
egg_info_databsc Cs |jdkr
|jr$|j}ntjj|jd�}tj|�}|jr�g}xtj|�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|jg|D]}tjj||�^qS�qjWg|D]}|jd�r�|^q�}n|s�td ||f��nt|�d
kr�|jdd��ntjj||d
�|_ntjj|j|�S(Nspip-egg-infotbintpythontScriptss
Python.exettestttestss .egg-infos$No files/directories in %s (from %s)itkeycSs8|jtjj�tjjr3|jtjj�p6dS(Ni(tcountRvRwR{taltsep(Rh((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt<lambda>�si(RWRSRRRQRvRwR�tlistdirtwalkRtdirnamestremovetlistR�textendtendswithRtlentsort( RgRDtbaset filenamestroottdirstfilestdirtf((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�ns4 '' *+cCso|j|�}|sgSg}xI|j�D];}|j�}|s,|jd�rZq,n|j|�q,W|S(Nt#(R�t
splitlinesRuRktappend(RgRDRFtresulttline((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytegg_info_lines�scCs^t�}|jd�}|sAtjdt|jd���n|j|pPd�|j�S(NsPKG-INFOsNo PKG-INFO file found in %st(RR�RR}RR�tfeedtclose(RgtpRF((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��s #cCs
|jd�S(Nsdependency_links.txt(R�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytdependency_links�ss \[(.*?)\]ccs�d}xx|jd�D]g}|jj|j��}|rO|jd�}qn|rx||krxtjd|�qn|VqWdS(Nsrequires.txtisskipping extra %s(RSR�t_requirements_section_retmatchR�tgroupRR�(RgRKtin_extraR�R�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytrequirements�sccs5x.|jjD] \}}|dkr
|Vq
q
WdS(Ns==(RORf(Rgt qualifiertversion((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytabsolute_versions�scCs|j�dS(NR�(R�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytinstalled_version�scCs\|j}||jkr5tjd||jf�n#tjdt|j�||f�dS(Ns'Requested %s, but installing version %ss;Source in %s has version %s, which satisfies requirement %s(R�RORR}R�RRQ(RgR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytassert_source_matches_version�s
cCs�|js!tjd|j�dS|jjd�r7dS|jsDdS|jjdd�\}}tj|�}|r�||j�}|r�|j |j�q�|j
|j�ndS(Ns>Cannot update repository at %s; repository location is unknownsfile:t+i(RURtinfoRQRkR\tsplitRtget_backendtobtaintexport(RgR�tvc_typeRUtbackendtvcs_backend((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytupdate_editable�s cCsB|j�s%td|jf��n|jp4|j}t|�}tjj|j |j
��d}tjj|j dj|j
�jd�d ��d}|jdt
jd�}|j
�d}t|�}tjj|�} tjj|�}
tjj|�}| s|
r^| r#|}n|}|j|�|jd �r�x|jd �j�D]4}
tjjtjj||
��}|j|�q[Wqo|jd
�ro|jd�r�|jd�}ng}x�g|jd
�j�D]}|r�||kr�|^q�D]M}tjj|j |�}|j|�|j|d�|j|d
�qWqon|j j|�r�|j|j �tjjtjj|j �d�}|j|d|�n�|r<t|d�}tjj|j�j��}|j�|j|�tjjtjj|�d�}|j||j �n3|rox*tjj |�D]}|j|�qUWn|jd�r|j!d�rx�|j"d�D]o}t#|�r�t$}nt%}|jtjj||��t&j'dkr�|jtjj||�d�q�q�Wn|jd�r(t(j)�}|j*t+|j,d���|j-d�r(x�|j.d�D]�\}}t#|�r�t$}nt%}|jtjj||��t&j'dkri|jtjj||�d�|jtjj||�d�|jtjj||�d�qiqiWq(n|j/|�||_0dS(s�
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.
s.Cannot uninstall requirement %s, not installeds .egg-infot-is
.dist-infos-py%sR�s.eggsinstalled-files.txts
top_level.txtsnamespace_packages.txts.pys.pycseasy-install.pths./trtscriptstwin32s.batsentry_points.txttconsole_scriptss.exes
.exe.manifests
-script.pyN(1tcheck_if_existsRRoRXRYtUninstallPathSetRvRwR�R�tegg_nameR�R�R9tPY_MAJORRR�taddR�R�R�RxR�tdirnametadd_pthR=tnormcasetreadlineRuR�tpipR�tuninstallation_pathstmetadata_isdirtmetadata_listdirRRRR�tplatformR$tSafeConfigParsertreadfptFakeFiletget_metadata_linesthas_sectiontitemsR�R^(Rgtauto_confirmtdisttpaths_to_removetpip_egg_info_pathtdist_info_pathtdebian_egg_info_pathteasy_install_eggtdevelop_egg_linktpip_egg_info_existstdebian_egg_info_existstdist_info_existsR�tinstalled_fileRwt
namespacesR�t
top_level_pkgteasy_install_pthtfhtlink_pointerR�tbin_dirtconfigRotvalue((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt uninstall�s�
"
!"
* -
cCs4|jr|jj�ntjd|jf�dS(Ns'Can't rollback %s, nothing uninstalled.(R^trollbackRterrorR�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytrollback_uninstallYs cCs4|jr|jj�ntjd|jf�dS(Ns%Can't commit %s, nothing uninstalled.(R^tcommitRR0R�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytcommit_uninstall`s cCs~t}d|j|jf}tjj||�}tjj|�r�tdt|�d�}|dkrqt }q�|dkr�t
jdt|��tj|�q�|dkr�t
|�}t
jdt|�t|�f�tj||�q�n|rztj|dtj�}tjjtjj|j��}xtj|�D]�\} }
}d|
kro|
jd�nxl|
D]d}tjj| |�}|j||�}
tj|jd |
d �}d|_|j|d�qvWxb|D]Z}|tkr�q�ntjj| |�}|j||�}
|j||jd |
�q�WqDW|j�t
jd
8_t
jdt|��ndS(Ns %s-%s.zips/The file %s exists. (i)gnore, (w)ipe, (b)ackup titwR(sDeleting %ssBacking up %s to %sspip-egg-infot/i�iR�isSaved %s(R4R5R(i�( RcRoR�RvRwR�R�RRRARR}R�RR�R�tzipfiletZipFiletZIP_DEFLATEDR
RyRQR�t_clean_zip_nametZipInfot
external_attrtwritestrRtwriteR�R�R�(RgR�tcreate_archivetarchive_nametarchive_pathtresponset dest_filetzipR�tdirpathR�R�RRotzipdirRD((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytarchivegsL !
#
cCs0|t|�d}|jtjjd�}|S(NiR6(R�R�RvRwR{(RgRotprefix((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR:�scs�|jr|j||�dS|jrztjj|j�}tjj||j�|j |jd�d|�t
|_dStj
dd�}tjj|d�}z�tjg}|jd�|jd|j�|t|�dd |g7}|js|d
g7}n�dk r&|d�g7}n|jr?|dg7}n
|d
g7}t�r�|dtjjtjdddt��g7}ntjd|j�tjd7_z*t||d|jd|j dt!�Wdtjd8_Xtjj"|�stjd|�dSt
|_|jr$dS�fd�} t#|�}
xN|
D]1}|j$�}|j%d�rF| |�}PqFqFWtj&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"|�r|tj,|�ntj-|�XdS(NR�tstrip_file_prefixs-recordspip-sinstall-record.txts-cs�import setuptools, tokenize;__file__=%r;exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))tinstalls--records#--single-version-externally-manageds--roots --compiles--no-compiles--install-headerstincludetsiteR�sRunning setup.py install for %siR�R�R�sRecord file %s not foundcs4�dkstjj|�r#|St�|�SdS(N(RSRvRwtisabsR(Rw(R�(s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytprepend_root�ss .egg-infos;Could not find .egg-info directory in install record for %ssinstalled-files.txtR5s
(.RRtinstall_editabletis_wheelRR�t
wheel_versionRQtcheck_compatibilityRoR6RcR]R�R�RvRwR�R�R�R�R�R�RVRSRbRRHR'RR�R�RR�RAR�R=RuR�R}R�RzR{RR>R�trmdir(Rgtinstall_optionstglobal_optionsR�RIR�t
temp_locationtrecord_filenametinstall_argsRNR�R�R�t new_linesRD((R�s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRJ�s�
cCs�|jstjj|j�rWtjd|j�|jrKt|j�nd|_n|j
r�tjj|j
�r�t|j
�nd|_
dS(sVRemove the source files from this requirement, if they are marked
for deletionsRemoving source in %sN(t is_bundleRvRwR�tdelete_marker_filenameRR�RQRRSRZ(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytremove_temporary_source�s cCs�tjd|j�tjd7_zWttjdd|jgt|�ddgt|�d|j d|j
d t�Wdtjd8_Xt|_
dS(
NsRunning setup.py develop for %sis-cs�import setuptools, tokenize; __file__=%r; exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))tdevelops --no-depsR�R�R�(RR�RoR�RR�R�R�R�RQR�RARcR](RgRTRU((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyROs7cCsatj}xKddddddddgD]+}tj||j��r(tj}Pq(q(W||fS( Ns^running .*s^writing .*s^creating .*s^[Cc]opying .*s^reading .*s4^removing .*\.egg-info' \(and everything under it\)$s^byte-compiling s7^warning: manifest_maker: standard file '-c' not found$(RtNOTIFYR�R�RutINFO(RgR�tleveltregex((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s
cCs|jdkrtSyJ|jjdkrG|jrG|jjdkrGtStj|j�|_Wn�tj k
rttStj
k
r�tj|jj�}|jr�t|�r�||_q�t
�r�t|�r�td|j|jf��q�q�||_nXtS(s�Find an installed distribution that satisfies or conflicts
with this requirement, and set self.satisfied_by or
self.conflicts_with appropriately.R�R�sVWill not install to the user site because it will lack sys.path precedence to %s in %sN(RORSRAR�RYRcR9tget_distributionRXRtVersionConflictR_RRRRR�(Rgt
existing_dist((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRs(
cCs|jod|jkS(Ns.whl(RU(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRP=scCsu|jdk r|jS|j}|s)tStjjtjj|d��phtjjtjj|d��|_|jS(Nspip-manifest.txtspyinstall-manifest.txt(R[RSRZRARvRwR�R�(RgR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRZAs !$c
csGx|jD]�}tjj|�}x�tjD]�}d}}tjj||j�}tjj |�r,|j
}t|�}|j�} |j
�|�j| �\}}Pq,q,W|r�d|||f}nd}t||dtd|dtd|dt�Vq
Wx=|jD]2}tjj|�}t||d|dt�Vq
WdS(Ns%s+%s@%sRRRUR\RQRa(t_bundle_editable_dirsRvRwtbasenameRtbackendsRSR�tbundle_fileR�RoR=R>R�tparse_vcs_bundle_fileRJRcRAt_bundle_build_dirs(
Rgtdest_dirtpackageR�RUtrevtvcs_bundle_fileR�REtcontent((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytbundle_requirementsMs,
c
Cs�|j}tjj|d�}tjj|d�}g}g}x#|||f|||fgD]\}} }
tjj|�r^x�tj|�D]�}tjj| |�}|
j|�tjj|�r�tjd|||f�q�ntjj| �stj d| �tj
| �ntjtjj||�|�q�Wtj|�satj
|�qaq^q^Wd|_||_||_dS(NtsrctbuildsZThe directory %s (containing package %s) already exists; cannot move source from bundle %ssCreating directory %s(RZRvRwR�R�R�R�RR}R�R�R�R�RSRSRjRe(
Rgtdest_build_dirtdest_src_dirR�tsrc_dirR�tbundle_build_dirstbundle_editable_dirsRQRktdir_collectionRtdest((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytmove_bundle_filesgs2
# cCsAt|j|j|d|jd|jd|d|jd|�dS(NtuserthomeR�RbRI(R6RoROR_R`Rb(RgtwheeldirR�RI((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR6�s cCstjj|jt�S(N(RvRwR�RQR(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR[�sN((((0t__name__t
__module__RSRARcRitclassmethodRrR�R�R�R�R�tpropertyRoR�R�R�R�R�R�R�R�R�R�tcompileR�R�R�R�R�RR.R1R3RGR:RJR\ROR�RRPRZRpRzR6R[(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRJ?sV-*
? *
n ) ] !
tRequirementscBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsg|_i|_dS(N(t_keyst_dict(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRi�s cCs|jS(N(R�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytkeys�scCs!g|jD]}|j|^q
S(N(R�R�(RgR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytvalues�scCs
||jkS(N(R�(Rgtitem((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__contains__�scCs3||jkr"|jj|�n||j|<dS(N(R�R�R�(RgR�R-((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__setitem__�scCs|j|S(N(R�(RgR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__getitem__�scCsJg|j�D]&}dt|�t||�f^q
}ddj|�S(Ns%s: %ssRequirements({%s})s, (R�R�R�(RgtkR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__repr__�s9( R~RRiR�R�R�R�R�R�(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��s tRequirementSetcBseZdeeedeeededd�Zd�Zd�Zd�Ze d��Z
e d��Ze d��Zd�Z
ed�Zd �Zeed
�Zed�Zd�Zd
�Zded�Zdd�Zd�ZdZd�Zd�ZRS(cCs�||_||_||_|r6tjj|�}n||_||_||_|
|_ t
�|_i|_g|_
| |_g|_g|_g|_||_||_||_|p�t�|_|
|_||_dS(N(R�Rutdownload_dirRvRwt
expandusertdownload_cachetupgradetignore_installedtforce_reinstallR�R�trequirement_aliasestunnamed_requirementstignore_dependenciestsuccessfully_downloadedtsuccessfully_installedtreqs_to_cleanupRVR_R`R+tsessionRbtwheel_download_dir(RgR�RuR�R�R�R�RVR`R�R�R_R�RbR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRi�s, cCsgg|jj�D]}|js|^q}|jdd��djg|D]}t|j�^qK�S(NR�cSs
|jj�S(N(RoR�(RO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��st (R�R�RPR�R�R�RO(RgROtreqs((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��scCs�|j}|j|_|j|_|j|_|j|_|sR|jj|�ni|j|�r�td||j |�|f��n||j
|<|j�|kr�||j|j�<ndS(Ns5Double requirement given: %s (already in %s, name=%r)(
RoRVR_R`RbR�R�thas_requirementRtget_requirementR�R�R�(Rgtinstall_reqRo((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytadd_requirement�s
cCsCx<||j�fD](}||jks7||jkrtSqWtS(N(R�R�R�RcRA(RgR�Ro((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��scCst|jj��p|jS(N(R�R�R�R�(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pythas_requirements�scCsDtd�|jj�D��r#tStd�|jD��r@tStS(Ncss|]}|jVqdS(N(RR(t.0RO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pys <genexpr>�scss|]}|jVqdS(N(RR(R�RO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pys <genexpr>�s(ReR�R�RcR�RA(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
has_editables�s
cCsg|jrctjj|j�|_tjj|j�r:tStjd�tdt |j���nt
S(Ns!Could not find download directorys0Could not find or access download directory '%s'(R�RvRwR�R�RcRtfatalRRRA(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytis_download�s
cCslxU||j�fD]A}||jkr3|j|S||jkr|j|j|SqWtd|��dS(NsNo project with the name %r(R�R�R�tKeyError(RgR�Ro((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�scCs8x1|jj�D] }|jd|�|j�qWdS(NR(R�R�R.R3(RgRRO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR.scCs�t|j�}t|jj��}xc|s3|r�|rK|jd�}n|jd�}t}|jr�|jr�|j�|j r�|j
r�|jo�t|j �s�|j |_
nd|_ q�t}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(Nis<Requirement already satisfied (use --upgrade to upgrade): %ss�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?)(R�R�R�R�tpopRcR�RRRRXR�R_RRYRSRARR�RQR�RuR�R�RvRwRzR(RgtunnamedR�treq_to_installtinstall_needed((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytlocate_filess4
%cCs�t|j�}t|jj��}x_|s3|r�|rK|jd�}n|jd�}t}t}d} |jr�|j r�|j
�|jr^|jrU|j
r|jry|j||j�}
Wn=tk
r�t}t}qtk
rtj�d} qX|
j|_n|s[|jo4t|j�sF|j|_nd|_q[q^t}n|jr�|r�tjd|�q�tjd|�q�n|j r�tjd|�n^|r|jr�|jj�jd�r�tjdtt|j���qtjd|�ntjd 7_zMt}t}|j r�|jdkrg|j|j �}
|
|_n |j}
t!j"j#|j$�s�t%|j$�n|j&|j'�|j'r�|j(�|j)|j*�q|j(�n8|r|j|j$|j'�}
t}d}
|j+rn9t!j"j#t!j"j,|
d
��rSt-t.j/d||
f���n�|jdkr�| rq| �n|j|d|j�}
nt0|j�}
|
rCyY|
j1j2t3�r�|j4r�|j4}t}n|j*}|j'}|j5|
|
||�WqIt6k
r?}tj7d
||f�t8d|||
f��qIXnt}|r|j9}|
om|
j1j2t3�}|r�|j:|j$|j �x�|j;�D] }|j<|�|j=|�q�Wn�|j'r|
|_|s�|j(�n|
r�|
j>t?j@kr�|j)|j*�q�ny|r1|
|_|
j|_n[|
|_|j(�|r]|j(dt�n|jA�|r�|jr�|jB|�t}n|js�|j
�n|jr|js�|jr�|jo�t|j�s�|j|_nd|_qtjd|�t}qqn|r�ttCjD|
��d}|jEsX|jF�|_E|j=|�n|jGs�xd|jH|jI�D]M}|jJ|jK�r�qtntLtM|�|�}|j<|�|j=|�qtWq�n%|s�|jN|jO�|jIr
tjddj,|jI��n|jGs�x�|j|jI�D]�}ytCjPjQ|�jK}Wn>tRk
r�tj�d}tjSd|||f�q&nX|jJ|�r�q&ntL||�}|j<|�|j=|�q&Wn|jJ|jT�s�|j=|�q�n|s$|j's|jUdk r$|jVj<|�q$n|rn|jWj<|�|rn|jrn|jjd�rn|jB|�qnnWdtjd 8_Xq'WdS(sGPrepare process. Create temp directories, download and/or unpack files.iis"Requirement already up-to-date: %ss<Requirement already satisfied (use --upgrade to upgrade): %ssObtaining %ssfile:sUnpacking %ssDownloading/unpacking %sissetup.pys�
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.
R�s4Could not install requirement %s because of error %ssDCould not install requirement %s because of HTTP error %s for URL %sR�s!Installing extra requirements: %rt,s.Invalid requirement: %r (%s) in requirement %ssfile:///N(XR�R�R�R�R�RcRARSR�RRRRXR�R�RUtfind_requirementR
RR�texc_infoR_RRYRR�R�RkRR.R�RQR�RuRvRwR�R�R�RR�R�RGR�RaR�R
ttextwraptdedentR)RDR�R8R�t
unpack_urlR&R�RRZRzRpR�R�R�Rtall_schemesR�tcopy_to_build_dirR9tfind_distributionsROtas_requirementR�trequiresRKR�R�RJR�tadd_dependency_linksR�RMRNt
ValueErrorR0RoRZR�R�(RgtfinderR�tbundleR�R�R�RJtbest_installedt not_foundRURZRPR�R�R�tdo_downloadtexctetsubreqRRORo((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
prepare_files:sT
!#
!
!cCs�tjd�tjd7_x|jD]}|j�q&Wg}|j�r_|j|j�n|rx|j|j�nx>|D]6}t j
j|�rtjd|�t
|�qqWtjd8_dS(sClean up files, remove builds.sCleaning up...isRemoving temporary dir %s...N(RR�R�R�R\t_pip_has_created_build_dirR�R�RuRvRwR�R�R(RgR�ROt
remove_dirR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
cleanup_files's
cCs1|jtko0tjjtjj|jt��S(N(R�R*RvRwR�R�R(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�>scCs�|jr|jp|j}tjd|j|f�tjj||j�}t j
|j|�tdd|dgd|dd�dS(NsCopying %s to %sR�s%s/setup.pytcleanR�R�spython setup.py clean(
RRRuR�RR�RoRvRwR�R�tcopytreeRQR(RgR�R`Ry((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�BscCs�|dkr|j}nt|�rL|r3|}n|}t|||�nat|�r~t|||�|r�t|�q�n/t|||j||j �|r�t|�ndS(N(
RSR�R2R1R3R4RR5R�R�(RgR�R�R�t
only_downloadtloc((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�Js&
cOs2g|jj�D]}|js|^q}tjjd�}xI|D]A}|jdkrD|j|krD|j|�|j |�qDqDW|r�t
jddjg|D]}|j^q���nt
j
d7_
zAx:|D]2} | jdkrGy=tjjd�}
tjd�}||
kr,|| _nWqGtjk
rCqGXn| jr�t
jd| j�t
j
d7_
z| jd t�Wd
t
j
d8_
Xny| j||||�Wn*| jr�| jr�| j�n�n X| jr| jr| j�n| j�q�WWd
t
j
d8_
X||_d
S(sRInstall everything in this set (after having downloaded and unpacked the packages)sdistribute>=0.7R�s!Installing collected packages: %ss, iR�sdistribute<0.7sFound existing installation: %sRN(R�R�RXR9RMRNRoR�R�R�RR�R�R�RbRYRR.RcRJR]R1R3R\R�(RgRTRUtargstkwargsRt
to_installtdistribute_reqROtrequirementtdistribute_requirementtexisting_distribute((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRJisL
3
cCs�tj|dtj�}g}xJ|jdf|jdffD]*\}}tjjtjj|��}x�tj |�D]�\}}}x�t
jD]�} | �}
d}}|
j
|kr�xR|D]}
|j|
�r�Pq�q�W|
jtjj||��\}}|j|�|
j}|
ji|d6|d6}|j|
j
�Pq�q�Wd|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(
NR5RrRqRURmspip-egg-infoR6R�spip-manifest.txt(R7R8R9R�RuRvRwR
RyR�RRgRSRRktget_infoR�R�RhtguideR�R:R=RR>RpR�(Rgtbundle_filenameRDtvcs_dirsR�RfRER�R�R�R�tvcs_urltvcs_revtvcs_dirRnt vcs_guideRRoRD((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
create_bundle�sL+
#s�# 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}xPg|jj�D]}|js|^qD]#}|jd|j|jf�q8W|jd�xPg|jj�D]}|jr|^qD]#}|jd|j|jf�q�Wdj|�S(Ns%s==%s
sC# These packages were installed to satisfy the above requirements:
R�(t
BUNDLE_HEADERR�R�RPR�RoR�R�(RgtpartsRO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRp�s!
!cCs0|t|�d}|jtjjd�}|S(NiR6(R�R�RvRwR{(RgRoRH((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR:�sN((R~RRSRARcRiR�R�R�R�R�R�R�R�R.R�R�R�R�R�R�RJR�R�RpR:(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��s2
'� E 7 cCstj|�t|�dS(N(RvR�R(R�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR��s
s^(http|https|file):ccs�|dkrt�}nd}|r-|jnd}|rKtj|�}ntjjtjj|��}t |d|d|�\}}x2t
|j��D]\} }
| d7} |
j�}
tj
dd|
�}
|
s�|
jd�r�q�n|r|j|
�rq�n|
jd�s&|
jd�r�|
jd�rH|
d j�}n|
td�j�jd
�}tj|�r�tj||�}n3tj|�s�tjjtjj|�|�}nx�t||d|d|d|�D]}|Vq�Wq�|
jd�s�|
jd
�rq�|
jd�s1|
jd�r�|
jd�rS|
d j�}
n|
td�j�jd
�}
tjj||
�}
tjj|
�r�|
}
n|r�|jj|
�q�q�|
jd�s�|
jd�r5|
jd�r�|
d j�}
n|
td�j�jd
�}
|r�|
g|_q�q�|
jd�r|
td�j�jd
�}
|r�|jj|
�q�q�|
jd�r�t|_q�|
jd�r�g|_q�|
jd�r
|
td�j�jd
�}
|jtt|
�j �g�O_q�|
jd�r%t|_!q�|
jd�r7q�|
jd�rIq�|
jd�r�|
td�j�jd
�}
|j"tt|
�j �g�O_"q�|
jd�r�|
td�j�jd
�}
|j"tt|
�j �g�O_"q�d|| f}|
jd�s!|
jd�r�|
jd�rC|
d j�}
n|
td�j�jd
�}
t#j$|
d|d|r�|j%nd�}n$t#j&|
|dt'|d d��}|Vq�WdS(!NRPR�is
(^|\s)#.*$R�R�s-rs
--requirementit=toptionss-Zs--always-unzips-fs--find-linkss-is--index-urls--extra-index-urls--use-wheels
--no-indexs--allow-externals--allow-all-externals--no-allow-externals--no-allow-insecures--allow-insecures--allow-unverifieds-r %s (line %s)s-es
--editableRnRdtpre((RSR+tskip_requirements_regexR�R�RvRwRRyR,t enumerateR�RutsubRkR�R�t
_scheme_reR!turljoinR�tparse_requirementstlstripR�t
find_linksR�t
index_urlsRct use_wheeltallow_externaltsetR R�tallow_all_externaltallow_unverifiedRJRrRnR�tgetattr(RDR�RPR�R�t
skip_matcht
skip_regext
reqs_file_dirRotline_numberR�treq_urlR�trelative_to_reqs_fileRO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s�
$( ''''$cCs.tjd|�}|r*|jd�}n|S(s2
Strip req postfix ( -dev, 0.2, etc )
s^(.*?)(?:-dev|-\d.*)$i(R�R�R�(ROR�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt_strip_postfixgscCs|g|jdd�djd�D]}|r |^q }d}|dd
kr[|d
}n|ddkrx|d}n|S(NR�iiR6i����ttagstbranchesttagtbranchi����i����ttrunk(R�R�R�sbranch(R�RS(RUR�R�RO((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt_build_req_from_urlrs8
cCs{tjd�}|j|�}|rwt�}xC|D];}|\}}||kretd|��n|||<q4W|SdS(sz
This method generates a dictionary of the query string
parameters contained in a given editable URL.
s([\?#&](?P<name>[^&=]+)=(?P<value>[^&=]+)s%s option already definedN(R�R�tfindalltdictt ExceptionRS(ROtregexptmatchedtrettoptionRoR-((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt_build_editable_options}s
cCsy|}d}tjd|�}|rE|jd�}|jd�}n|}tjj|�r�tjjtjj|d��s�t d|��nt
|�}n|j�jd�r�|r�d|t
jjd|�jfSd|dfSnx;tD]3}|j�jd|�r�d ||f}Pq�q�Wd
|kr_|rL|d
|}q_t d|��n|jd
d�dj�}tj|�s�d
|djgtjD]}|jd^q��d} t | ��nyt|�}
Wn7tk
rtj�d}t d||f��nX|
s.d|
krVt|�}|s`t d|��q`n
|
d}t|�}
|
||
fS(sSParses svn+http://blahblah@rev#egg=Foobar into a requirement
(Foobar) and a URLs^(.+)(\[[^\]]+\])$iissetup.pys;Directory %r is not installable. File 'setup.py' not found.sfile:t__placeholder__s%s:s%s+%sR�sb%s should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+isFor --editable=%s only s, s+URLs is currently supporteds*--editable=%s error in editable options:%steggs@--editable=%s is not the right format; it must have #egg=PackageN(RSR�R�R�RvRwRzR�R�RR/R�RkR9RMRNRKRR�R�RgRoRR�R�R�R�R�(RmRnRURKtmt
url_no_extrastversion_controlR�R�t
error_messageR�tmessageRORl((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRj�sT!
1
RcBskeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z e
d�Zd �Zd
�Z
RS(sMA set of file paths to be removed in the uninstallation of a
requirement.cCs@t�|_t�|_i|_||_d|_g|_dS(N(R�tpathst_refusetpthRRStsave_dirt_moved_paths(RgR((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRi�s cCs
t|�S(ss
Return True if the given path is one we are permitted to
remove/modify, False otherwise.
(R(RgRw((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt
_permitted�scCsFt|j�sBtjd|jjt|jj�tjf�t St
S(Ns1Not uninstalling %s at %s, outside environment %s(RRRR�R�RR�R�RHRARc(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt_can_uninstall�s
&cCs�t|�}tjj|�s"dS|j|�rD|jj|�n|jj|�tjj|�ddkr�t r�|jt
j|��ndS(Nis.py(RRvRwR�RRR
RtsplitextR#timptcache_from_source(RgRw((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR
�s"cCskt|�}|j|�rW||jkr@t|�|j|<n|j|j|�n|jj|�dS(N(RRR
tUninstallPthEntriesR
R(Rgtpth_filetentry((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�sc Cs�t�}x}t|dt�D]i}tg|D]@}|j|�oi|t|jtjj��tjjk^q,�s|j |�qqW|S(s�Compact a path set to contain the minimal number of paths
necessary to contain all paths in the set. If /a/path/ and
/a/path/to/a/file.txt are both in the set, leave only the
shorter path.R�(
R�tsortedR�ReRktrstripRvRwR{R
(RgRtshort_pathsRwt shortpath((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pytcompacts McCs5tjj|jtjj|�djtjj��S(Ni(RvRwR�Rt
splitdriveR�R{(RgRw((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt_stashs cCs�|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�tjd d
dd�|_
xK|D]C}|j|�}tjd
|�|jj|�t||�q"Wx!|jj�D]}|j�qyWtjd|jj�nWdtjd8_XdS(s[Remove paths in ``self.paths`` with confirmation (unless
``auto_confirm`` is True).Ns7Can't uninstall '%s'. No files were found to uninstall.sUninstalling %s:itysProceed (y/n)? tns.Not removing or modifying (outside of prefix):tsuffixs
-uninstallRHspip-sRemoving file or directory %ssSuccessfully uninstalled %s(RR (RRRR�RR�R�RRRRR�R�RRR�RR�RR
R�R�(RgRRRBRwtnew_pathR
((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s<
cCs�|jdkr*tjd|jj�tStjd|jj�x>|jD]3}|j |�}tj
d|�t||�qKWx|jD]}|j
�q�WdS(s1Rollback the changes previously made by remove().s'Can't roll back %s; was not uninstalledsRolling back uninstall of %ssReplacing %sN(RRSRR0RR�RAR�RRR�RR
R/(RgRwttmp_pathR
((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR/9scCs5|jdk r1t|j�d|_g|_ndS(s?Remove temporary save dir: rollback will no longer be possible.N(RRSRR(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR2Fs
(R~Rt__doc__RiRRR
RRRRAR�R/R2(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s
%
RcBs,eZd�Zd�Zd�Zd�ZRS(cCsGtjj|�s%td|��n||_t�|_d|_dS(Ns.Cannot remove entries from nonexistent file %s( RvRwR|RRtR�tentriesRSt_saved_lines(RgR((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRiOs
cCsatjj|�}tjdkrMtjj|�drM|jdd�}n|jj|�dS(NRis\R6( RvRwR
R�RRR�R%R
(RgR((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR
Vs&cCs�tjd|j�t|jd�}|j�}||_|j�td�|D��rdd}nd}xQ|jD]F}y,tjd|�|j t
||��Wqttk
r�qtXqtWt|jd�}|j|�|j�dS(NsRemoving pth entries from %s:R;css!|]}td�|kVqdS(s
N(R((R�R�((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pys <genexpr>gss
s
sRemoving entry: %stwb(
RR�RtR=t readlinesR&R�ReR%R�R(R�t
writelines(RgR)tlinestendlineR((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�`s"
cCsk|jdkr'tjd|j�tStjd|j�t|jd�}|j|j�|j �t
S(Ns.Cannot roll back changes to %s, none were mades!Rolling %s back to previous stateR'(R&RSRR0RtRAR�R=R)R�Rc(RgR)((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR/us
(R~RRiR
R�R/(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRNs
RcBs)eZdZd�Zd�Zd�ZRS(sQWrap a list of lines in an object with readline() to make
ConfigParser happy.cCsd�|D�|_dS(Ncss|]}|VqdS(N((R�tl((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pys <genexpr>�s(t_gen(RgR*((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyRi�scCsLy3yt|j�SWntk
r1|jj�SXWntk
rGdSXdS(NR�(tnextR-t NameErrort
StopIteration(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s
cCs|jS(N(R-(Rg((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt__iter__�s(R~RR$RiRR1(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyR�s (ctemail.parserRRvRR?R�R�R�R�R�R7tdistutils.utilRt
pip.locationsRRRRRtpip.exceptionsRRR R
RRR
tpip.vcsRtpip.logRtpip.utilRRRRRRRRRRRRRRRRR tpip.backwardcompatR!R"R#R$R%R&R'R(t pip.indexR)R*tpip.downloadR+R,R-R.R/R0R1R2R3R4R5t pip.wheelRR6R7R8tpip._vendorR9R:RItobjectRJR�R�R�R�tIR�RSR�R�R�RRjRRR(((s8/opt/alt/python35/lib/python3.5/site-packages/pip/req.pyt<module>sT(4p:L ���W��N c A|2