�
��gc@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlmZddlZddl
mZmZddlmZddlmZmZy,ddlmZmZd�Zd �ZWn9ek
r=dd
lmZmZd�Zd�ZnXdd
lmZddlmZm Z ddl!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(ddl)m*Z*ddl+m,Z,ddl-m.Z.ddl-m/Z/ddl)m0Z0m1Z1ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8ddlm9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGdejHkr�ejHdZInejJjKejL�ZIddddddgZMddlNZNejOdko�eNjPZQddlRZRd �ZSd!�ZTejUd"fkr:d#�ZVd$�ZWnd%�ZVd&�ZWdefd'��YZXd(�ZYd)�ZZd*�Z[d+�Z\d,�Z]de?fd-��YZ^eIe_d.�Z`d/�Zad0�Zbd1�Zcd2d3�Zdd4�Zed5�Zfd6�Zgydd7lmhZiWnek
r&d8�ZinXd9�Zhd:�ZjeIe_d;�Zkd<�Zld=�Zme_ead>�Znd?�Zod@�ZpeqdA�ZrdS(BsEasy Install
------------
A tool for doing automatic download/extract/build of distutils-based Python
packages. For detailed documentation, see the accompanying EasyInstall.txt
file, or visit the `EasyInstall home page`__.
__ https://pythonhosted.org/setuptools/easy_install.html
i����N(tglob(tCommandt_dont_write_bytecode(t run_setup(tlogtdir_util(tget_config_varstget_pathcCs
td�S(Ntplatlib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_get_platlibscCs
td�S(Ntpurelib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_get_purelib!s(Rtget_python_libcCs
tt�S(N(RtTrue(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR %scCs
tt�S(N(RtFalse(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR's(tget_platform(tconvert_patht
subst_vars(tDistutilsArgErrortDistutilsOptionErrortDistutilsErrortDistutilsPlatformError(tINSTALL_SCHEMEStSCHEME_KEYS(tsetopt(tunpack_archive(tPackageIndex(t
URL_SCHEME(t bdist_eggtegg_info(t iteritemstmaxsizetxranget
basestringtunicodetreraise(tyield_linestnormalize_pathtresource_stringtensure_directorytget_distributiontfind_distributionstEnvironmenttRequirementtDistributiontPathMetadatatEggMetadatat
WorkingSettDistributionNotFoundtVersionConflicttDEVELOP_DISTt__VENV_LAUNCHER__tsamefileteasy_installtPthDistributionstextract_wininst_cfgtmaintget_exe_prefixess2.6cCstjd�dkS(NtPi(tstructtcalcsize(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_64bitKscCs�ttjd�rItjj|�rItjj|�rItjj||�Stjjtjj|��tjjtjj|��kS(NR4(thasattrtostpathtexistsR4tnormpathtnormcase(tp1tp2((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR4Ns
$icCs|S(N((ts((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _to_asciiYscCs.yt|d�tSWntk
r)tSXdS(Ntascii(R"R
tUnicodeErrorR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytisascii[s
cCs
|jd�S(NRH(tencode(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRGbscCs.y|jd�tSWntk
r)tSXdS(NRH(RKR
RIR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRJds
cBs�eZdZdZeZdzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�gZdddd
ddd"d1d4d:d=gZe r�ej
dAdydBejf�ej
dA�nidd+6Z
eZdC�ZdD�ZdE�ZdF�ZdG�ZdH�ZdI�ZdJ�ZdK�ZdL�ZdM�ZdN�ZdO�ZdP�ZdQ�ZdR�Ze dS�Z!e dT�Z"dU�Z#edV�Z$dW�Z%dX�Z&dY�Z'dydZ�Z(d[d�d\�Z)d]�Z*d^�Z+d_�Z,d`�Z-da�Z.db�Z/dc�Z0ddde�Z1df�Z2dg�Z3dh�Z4di�Z5dj�Z6dk�Z7dl�Z8dm�Z9dn�Z:do�Z;dp�Z<e=dqe=drdsdtdu��Z>e=drdvdtdw�Z?dx�Z@RS(�s'Manage a download/build/install processs Find/get/install Python packagessprefix=sinstallation prefixszip-oktzsinstall package as a zipfiles
multi-versiontms%make apps have to require() a versiontupgradetUs1force upgrade (searches PyPI for latest versions)sinstall-dir=tdsinstall package to DIRsscript-dir=RFsinstall scripts to DIRsexclude-scriptstxsDon't install scriptssalways-copytas'Copy all needed packages to install dirs
index-url=tis base URL of Python Package Indexsfind-links=tfs(additional URL(s) to search for packagessdelete-conflictingtDs no longer needed; don't use thissignore-conflicts-at-my-risksbuild-directory=tbs/download/extract/build in DIR; keep the resultss optimize=tOslalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]srecord=s3filename in which to record list of installed filessalways-unziptZs*don't install as a zipfile, no matter whats
site-dirs=tSs)list of directories where .pth files workteditabletes+Install specified packages in editable formsno-depstNsdon't install dependenciessallow-hosts=tHs$pattern(s) that hostnames must matchslocal-snapshots-oktls(allow building eggs from local checkoutstversions"print version information and exits
no-find-linkss9Don't load find-links defined in packages being installedtusers!install in user site-package '%s'cCs�tr0tjjt�}|jtj�|_n d|_d|_
|_d|_|_
|_d|_d|_d|_d|_d|_|_d|_|_|_d|_|_|_d|_|_|_d|_d|_d|_ d|_!d|_"d|_#d|_$d|_%d|_&trKtj'|_(tj|_)nd|_(d|_)d|_*d|_+d|_,|_-d|_.d|_/d|_0i|_1t2|_3d|_4|j5j6|_6|j5j7||j5j8d��dS(NiR5(9t
HAS_USER_SITER?R@tabspatht__file__t
startswithtsitet USER_SITER`tNonetzip_oktlocal_snapshots_oktinstall_dirt
script_dirtexclude_scriptst index_urlt
find_linkstbuild_directorytargstoptimizetrecordRNtalways_copyt
multi_versionRZtno_depstallow_hoststroottprefixt no_reportR_tinstall_purelibtinstall_platlibtinstall_headerstinstall_libtinstall_scriptstinstall_datatinstall_basetinstall_platbaset USER_BASEtinstall_userbasetinstall_usersitet
no_find_linkst
package_indextpth_filetalways_copy_fromtdelete_conflictingtignore_conflicts_at_my_riskt site_dirstinstalled_projectsRtsitepy_installedt_dry_runtdistributiontverboset_set_command_optionstget_option_dict(tselftwhereami((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytinitialize_options�sP cCs�x�|D]�}tjj|�s1tjj|�rtjd|�|js�tjj|�r|tjj|�r|t|�q�tj |�q�qqWdS(NsDeleting %s(
R?R@RAtislinkRtinfotdry_runtisdirtrmtreetunlink(R�tblockerstfilename((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytdelete_blockers�s
$ %
c
Cs�|jr(dtd�jGHtj�ntjj�d}tdd�\}}i|jj�d6|jj�d6|jj �d6|d 6|dd
!d6|d|dd
6|d6|d6|d6|d6t
tdd�d6|_tr |j
|jd<|j|jd<n|jr�tr�|j�|j
dkr@td��n|j
|_|_tjdkrr|jd�q�|jtjd�n|j�|j�|jdddd�|jdkr�|j|_n|jdkr�t|_n|jdd,�|jdd-�|jr9|j r9|j |_|j!|_n|jdd.�t"t#tj$�}t%�|_&|j'dk r!g|j'jd �D]}tj$j(|j)��^q�}xq|D]f}tj$j*|�s�t+j,d!|�q�t#|�|krt-|d"��q�|j&j.t#|��q�Wn|j/s7|j0�n|j1pCd#|_1|j&|_2xE|jt#|j�fD]+}||j2kro|j2j3d|�qoqoW|j4dk r�g|j4jd �D]}|j)�^q�} n d$g} |j5dkr|j6|j1d%|j2d&| �|_5nt7|j2tj$�|_8|j9dk rlt:|j9t;�ru|j9j�|_9qun g|_9|j<r�|j5j=|j2tj$�n|js�|j5j>|j9�n|jdd/�t:|j?t@�s=y>t@|j?�|_?d|j?kodknstA�nWq=tAk
r9t-d(��q=Xn|jBr^|jCr^t-d)��n|j/r�|jDr�tEd*��n|jFs�tEd+��ng|_GdS(0Ns
setuptools %st
setuptoolsiRxtexec_prefixt dist_nametdist_versiont
dist_fullnamet
py_versionitpy_version_shortitpy_version_nodott
sys_prefixtsys_exec_prefixtabiflagsttuserbasetusersites$User base directory is not specifiedtposixt unix_usert_userRjRkRoR�R}R~tinstallRrt,s"%s (in --site-dirs) does not exists$ (in --site-dirs) is not on sys.pathshttps://pypi.python.org/simplet*tsearch_paththostsRqs--optimize must be 0, 1, or 2sVCan't use both --delete-conflicting and --ignore-conflicts-at-my-risk at the same times9Must specify a build directory (-b) when using --editables:No urls, filenames, or requirements specified (see --help)(sinstall_dirsinstall_dir(sinstall_dirs
script_dir(srecordsrecord(soptimizesoptimize(HR_R(tsystexittsplitRR�tget_nametget_versiontget_fullnametgetattrtconfig_varsRaR�R�R`tcreate_home_pathRgRR�R�R?tnamet
select_schemetexpand_basedirstexpand_dirst_expandRkRjR�Rtset_undefined_optionsRzR~tmapR%R@t
get_site_dirst
all_site_dirsR�t
expandusertstripR�RtwarnRtappendRZtcheck_site_dirRmtshadow_pathtinsertRvR�tcreate_indexR*tlocal_indexRnt
isinstanceR!Ritscan_egg_linkstadd_find_linksRqtintt
ValueErrorR�R�RoRRptoutputs(
R�R�RxR�RBRFR�RPt path_itemR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytfinalize_options�s�
7
. !
cCs�x�|D]y}t||�}|dk rtjdksFtjdkr[tjj|�}nt||j�}t|||�qqWdS(NR�tnt( R�RgR?R�R@R�RR�tsetattr(R�tattrstattrtval((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt
_expand_attrscs
cCs|jdddg�dS(sNCalls `os.path.expanduser` on install_base, install_platbase and
root.R�R�RwN(R�(R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�lscCs#|jddddddg�dS(s+Calls `os.path.expanduser` on install dirs.RzR{R}R|R~RN(R�(R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�qscCs|j|jjkr(tj|j�nz�x%|jD]}|j||j�q5W|jr�|j}|j r�t
|j �}x/tt
|��D]}|||||<q�Wnddlm
}|j|j|j|fd|j�n|j�Wdtj|jj�XdS(Ni����(t file_utils'writing list of installed files to '%s'(R�R�Rt
set_verbosityRpR5RuRrR�RwtlenR t distutilsR�texecutet
write_filetwarn_deprecated_options(R�tspecR�troot_lentcounterR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytrunws$ cCsFytj�}Wntjdt�}nXtjj|jd|�S(s�Return a pseudo-tempname base in the install directory.
This code is intentionally naive; if a malicious party can write to
the target directory you're already in deep doodoo.
istest-easy-install-%s(R?tgetpidtrandomtrandintRR@tjoinRj(R�tpid((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytpseudo_tempname�s
cCs&|js|jr"tjd�ndS(NswNote: The -D, --delete-conflicting and --ignore-conflicts-at-my-risk no longer have any purpose and should not be used.(R�R�RR�(R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��scCs�t|j�}tjj|d�}||jk}|rS|jrS|j�}n�|j�d}tjj |�}y:|r�tj
|�nt|d�j�tj
|�Wn!t
tfk
r�|j�nX|r�|jr�t|j���n|r)|jdkr2t||j�|_q2n d|_tjjdd�jtj�}|ttg|D]}|rc|^qc�kr�t|_n1|jr�tjj |�r�t|_d|_n||_dS(s;Verify that self.install_dir is .pth-capable dir, if neededseasy-install.pths.write-testtwt
PYTHONPATHR�N(R%RjR?R@R�R�Rttcheck_pth_processingR�RAR�topentclosetOSErrortIOErrortcant_write_to_targetRtno_default_version_msgR�RgR6tenvirontgetR�tpathsepR�R
R�(R�tinstdirR�tis_site_dirttestfilettest_existsR�t_f((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s6 !. cCsYdtj�d|jf}tjj|j�s?|d7}n
|d7}t|��dS(Nscan't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
%s
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
%s
is�
This directory does not currently exist. Please create it and try again, or
choose a different installation directory (using the -d or --install-dir
option).
sK
Perhaps your account does not have write access to this directory? If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account. If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.
For information on other options, you may wish to consult the
documentation at:
https://pythonhosted.org/setuptools/easy_install.html
Please make the appropriate changes for your system and try again.
(R�texc_infoRjR?R@RAR(R�tmsg((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s
cCs-|j}tjd|�|j�d}|d}tjj|�}y]|r^tj|�ntjj|�}tjj|�s�tj |�nt
|d�}Wn!ttfk
r�|j
�nHXz�|jd|f�|j�d}tj}tjdkrbtjj|�\}}tjj|d�} |j�dkrbtjj| �rb| }qbnd d
lm}
|
|ddd
gd�tjj|�r�tjd|�tSWd|r�|j�ntjj|�r�tj|�ntjj|�rtj|�nX|js)tjd|�ntS(s@Empirically verify whether .pth files are supported in inst. dirs Checking .pth file support in %ss.pths.okR�s7import os; f = open(%r, 'w'); f.write('OK'); f.close()
R�spythonw.exes
python.exei����(tspawns-Es-ctpassis-TEST PASSED: %s appears to support .pth filesNs+TEST FAILED: %s does NOT support .pth files(RjRR�R�R?R@RAR�tdirnametmakedirsR�R�R�R�twriteR�RgR�t
executableR�R�R�tlowertdistutils.spawnRR
RtR�R(R�R�R�tok_filet ok_existsRRTRtbasenametaltR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��sP
$
cCs�|jro|jd�roxS|jd�D]?}|jd|�rHq)n|j|||jd|��q)Wn|j|�dS(s=Write all the scripts for `dist`, unless scripts are excludedtscriptssscripts/N(Rltmetadata_isdirtmetadata_listdirtinstall_scripttget_metadatatinstall_wrapper_scripts(R�tdisttscript_name((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytinstall_egg_scriptsscCs|tjj|�rhxctj|�D]?\}}}x-|D]%}|jjtjj||��q8Wq"Wn|jj|�dS(N(R?R@R�twalkR�R�R�(R�R@tbasetdirstfilesR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt
add_output-s
*cCs#|jrtd|f��ndS(NsjInvalid argument %r: you can't use filenames or URLs with --editable (except via the --find-links option).(RZR(R�R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytnot_editable5s cCsW|js
dStjjtjj|j|j��rStd|j|jf��ndS(Ns2%r already exists in %s; can't do a checkout there(RZR?R@RAR�RotkeyR(R�R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytcheck_editable=s 'cCs�tjdd�}d}|js.|j�nzYt|t�s�t|�r�|j|�|j j
||�}|jd|||t�St
jj|�r�|j|�|jd|||t�St|�}n|j|�|j j|||j|j|j|j�}|dkrDd|}|jr5|d7}nt|��nB|jtkrm|j|||d�|S|j||j||�SWdt
jj|�r�t|�nXdS(NRxs
easy_install-s+Could not find suitable distribution for %rs2 (--always-copy skips system and development eggs)tUsing(ttempfiletmkdtempRgRZtinstall_site_pyR�R+RRR�tdownloadtinstall_itemR
R?R@RAtparse_requirement_argRtfetch_distributionRNRsR�Rt
precedenceR2tprocess_distributiontlocationR�(R�R�tdepsttmpdirR#RR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR5Ls:
cCs�|p|j}|p*tjj|�|k}|p@|jd�}|p||jdk o|tjjt|��t|j�k}|r�|r�x4|j|j D]}|j
|kr�Pq�q�Wt}ntj
dtjj|��|r!|j|||�}xY|D]}|j|||�qWn5|j|j|��g}|j||d|d�|dk r�x!|D]}||kri|SqiWndS(Ns.eggs
Processing %siR(RsR?R@RtendswithR�RgR%R�tproject_nameR)R
RR�Rtinstall_eggsR(tcheck_conflictstegg_distribution(R�R�R#R+R*tinstall_neededRtdists((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR$us.
cCsUt|}xDtD]<}d|}t||�dkrt||||�qqWdS(s=Sets the install directories by applying the install schemes.tinstall_N(RRR�RgR�(R�R�tschemeRtattrname((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s
c
Gs4|j|�|jj|�|jj|�|j|�||j|j<tj|j |||��|j
d�r�|jr�|jj|j
d��n|r�|jr�dS|dk r�|j|jkr�tjd|�dS|dks�||kr0|j�}|p|}t|j|j|j�}ntjd|�y(tg�j|g|j|j�}Wngtk
r�tj�d}td|j��n4tk
r�tj�d}td|j��nX|js�|jr x9|D].}|j|jkr�|j|j��q�q�Wntjd|�dS(Nsdependency_links.txtsSkipping dependencies for %ssProcessing dependencies for %sis'Could not find required distribution %ss7Installed distribution %s conflicts with requirement %ss'Finished processing dependencies for %s( t
update_pthR�taddR�RR�RRR�tinstallation_reportthas_metadataR�R�tget_metadata_linesRsRgR�tas_requirementR+R-tspecstextrasR/tresolveR5R0R�RRRpR1R�(R�trequirementRR*R�tdistreqtdistrosR[((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR(�sL
cCsA|jdk r|jS|jd�r*tS|jd�s=tStS(Nsnot-zip-safeszip-safe(RhRgR9R
R(R�R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytshould_unzip�scCstjj|j|j�}tjj|�rMtjd|j|j|�|Stjj|�rh|}n�tjj |�|kr�tj
|�ntj|�}t|�dkr�tjj||d�}tjj|�r�|}q�nt
|�tj||�|S(Ns<%r already exists in %s; build directory %s will not be keptii(R?R@R�RoRRARR�R�RR�tlistdirR�R'tshutiltmove(R�R�t
dist_filenamet
setup_basetdsttcontents((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt
maybe_move�s$
cCs4|js0x$t|�D]}|j|�qWndS(N(Rltget_script_argstwrite_script(R�RRp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�s cs�t|j��}t||�}�fd�}|rwd�|rW�jdd��nt|�|��t�}n|j|t|�d�dS(s/Generate a legacy script wrapper and install itcs4td��}|jd�}|jdd�}|S(sm
There are a couple of template scripts in the package. This
function loads one of them and prepares it for use.
These templates use triple-quotes to escape variable
substitutions so the scripts get the 2to3 treatment when build
on Python 3. The templates cannot use triple-quotes naturally.
R�sutf-8s"""R�(R&tdecodetreplace(R�t raw_bytesttemplate_strtclean_template(t
template_name(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytget_templates sscript template.pys.pys (dev).pyRVN(tstrR;tis_python_scriptRNtget_script_headertlocalsRLRG(R�RRtscript_texttdev_pathR�t is_scriptRS((RRsC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�s ttc Cs�|jg|D]}tjj|j|�^q
�tjd||j�tjj|j|�}|j|�t�}|j s�t
|�t|d|�}|j|�|j
�t|d|�ndS(s1Write an executable file to the scripts directorysInstalling %s script to %sR�i�N(R�R?R@R�RkRR�Rt
current_umaskR�R'R�RR�tchmod( R�RRItmodeR�RQttargettmaskRT((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRLs,
cCs�|j�jd�r(|j||�gS|j�jd�rP|j||�gS|}tjj|�r�|jd�r�t|||j�n'tjj |�r�tjj
|�}n|j|�r�|jr�|dk r�|j|||�}ntjj|d�}tjj|�s�ttjj|dd��}|s[tdtjj
|���nt|�dkr�tdtjj
|���n|d }n|jr�tj|j||��gS|j||�SdS(
Ns.eggs.exes.pyssetup.pyR�s"Couldn't find a setup script in %sisMultiple setup scripts in %si(RR,tinstall_eggtinstall_exeR?R@tisfileRtunpack_progressR�RbRdRoRgRJR�RARRR�RZRR�treport_editabletbuild_and_install(R�R�RFR+RGtsetup_scripttsetups((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR.*s4"
cCs[tjj|�r3t|tjj|d��}nttj|��}tj |d|�S(NsEGG-INFOtmetadata(
R?R@R�R-R�R.t zipimporttzipimporterR,t
from_filename(R�tegg_pathRi((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR0Ss!cCs�tjj|jtjj|��}tjj|�}|jsLt|�n|j|�}|j |�t
||�s�tjj|�r�tjj|�r�t
j|d|j�n2tjj|�r�|jtj|fd|�nt|�tjj|�r8|j|�r%tjd}}q�tjd}}na|j|�rg|j|�|jd}}n2|j|�r�tjd}}ntjd}}|j|||f|dtjj|�tjj|�f�n|j|�|j|�S(NR�s Removing tMovingtCopyingt
Extractings %s to %s(R?R@R�RjRRbR�R'R0R/R4R�R�Rtremove_treeRAR�R�tuncache_zipdirRdRDREtcopytreeRBtmkpathtunpack_and_compiletcopy2RR(R�RmR+tdestinationRRTRM((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRaZs6$
%
)
cCs�t|�}|dkr+td|��ntdd|jdd�d|jdd�dt��}tjj||j �d�}|_
|d}tjj|d �}tjj|d
�}t|�t||�|_
|j||�tjj|�s}t|d�} | jd�xU|jd�D]D\}
}|
d
kr(| jd|
jdd�j�|f�q(q(W| j�ntjj|d�}|jgt|�D]}
tjj||
d�^q��tj||d|jd|j�|j||�S(Ns(%s is not a valid distutils Windows .exeR-RiR�R_tplatforms.eggs.tmpsEGG-INFOsPKG-INFOR�sMetadata-Version: 1.0
ttarget_versions%s: %s
t_t-RiR�R�(R7RgRR,R�RR?R@R�tegg_nameR)R'R-t _providert
exe_to_eggRAR�RtitemsRNttitleR�R�RKRtmake_zipfileR�R�Ra(R�RFR+tcfgRRmtegg_tmpRtpkg_infRTtktvRkRp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRb|s6 &
0
3cs�t|��g�g�i������fd�}t|�|�g}x��D]�}|j�jd�rV|jd�}|d}tj|d�d|d<tjj �|�}�j
|�|j
|�tj||�qVqVW|j��tj
tjj �d�tj�|��x�d
D]�} t�| r*tjj �d| d �}
tjj|
�s�t|
d
�}|jdj t�| �d�|j�q�q*q*WdS(s;Extract a bdist_wininst to the directories an egg would usecsL|j�}x�D]\}}|j|�r||t|�}|jd�}tjj�|�}|j�}|jd�s�|jd�r�tj |d�|d<d�tjj
|d�d<�j|�nI|jd�r|dkrd�tjj
|d�d<�j|�n|SqW|jd �sHtj
d
|�ndS(Nt/s.pyds.dlli����iis.pysSCRIPTS/s.pthsWARNING: can't process %s(RRdR�R�R?R@R�R,Rtstrip_moduletsplitextR�RR�Rg(tsrcRHRFtoldtnewtpartstdl(R�tnative_libstprefixest
to_compilet top_level(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytprocess�s$s.pydR�i����s.pysEGG-INFOR�R�s.txtR�s
N(s top_levelsnative_libs(R9RRR,R�RR�R?R@R�R�t
write_stubtbyte_compiletwrite_safety_flagtanalyze_eggRWRAR�RR�(R�RFR�R�tstubstresR�tresourcetpyfileR�ttxtRT((R�R�R�R�R�sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR~�s4
!cCs�|Sddlm}m}ddlm}g}tj|jd��}idd6dd6}x$|�D]\}} }
d||<qfWxt|jg|j �D]�\}}x�|D]�}
t
jj|
�\}}||kr�|sHy|||g�\}}
}Wnt
k
rq�qX|r)|j�n|
|kr|j|
�qq�||kr�|dkr�|jt
jj||
��q�q�q�Wq�W|r�|j||�n|S( s9Verify that there are no conflicting "old-style" packagesi����(tfind_moduletget_suffixes(Rs
top_level.txtis.pycs.pyoRe(timpR�R�Rtdicttfromkeyst
_get_metadatatexpand_pathsRjR�R?R@R�tImportErrorR�R�R�tfound_conflicts(R�RR�R�RR�tnamestextstextR^ttypR@RR�RRTtdescr((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR/�s4&
*cCs�|jr#tjd�|j|�Sddj|�}|jrS|d|j7}n
|d7}|d7}tjj |�tjj
�|js�td��ndS(Ns*Attempting to delete conflicting packages:s�-------------------------------------------------------------------------
CONFLICT WARNING:
The following modules or packages have the same names as modules or
packages being installed, and will be *before* the installed packages in
Python's search path. You MUST remove all of the relevant files and
directories before you will be able to use the package(s) you are
installing:
%s
s
s�(Note: you can run EasyInstall on '%s' with the
--delete-conflicting option to attempt deletion of the above files
and/or directories.)
sLNote: you can attempt this installation again with EasyInstall, and use
either the --delete-conflicting (-D) option or the
--ignore-conflicts-at-my-risk option, to either delete the above files
and directories, or to ignore the conflicts, respectively. Note that if
you ignore the conflicts, the installed package(s) may not work.
sJ-------------------------------------------------------------------------
s%Installation aborted due to conflicts(R�RR�R�R�R�R-R�tstderrRtflushR(R�RR�R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s
t Installedc Cszd}|jrN|jrN|d7}|jtttj�krN|d7}qNn|j}|j}|j }d}|t
�S(s9Helpful installation message for display to package userss
%(what)s %(eggloc)s%(extras)ss�
Because this distribution was installed --multi-version, before you can
import modules from this package in an application, you will need to
'import pkg_resources' and then use a 'require()' call similar to one of
these examples, in order to select the desired version:
pkg_resources.require("%(name)s") # latest installed version
pkg_resources.require("%(name)s==%(version)s") # this exact version
pkg_resources.require("%(name)s>=%(version)s") # this version or higher
s�
Note also that the installation directory must be on sys.path at runtime for
this to work. (e.g. by being the application's script directory, by being on
PYTHONPATH, or by being added to sys.path by your code.)
R�(RtRyRjR�R%R�R@R)R-R_RW( R�treqRtwhatRtegglocR�R_R=((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8"s
cCs&tjj|�}tj}dt�S(Ns"
Extracted editable version of %(spec)s to %(dirname)s
If it uses setuptools in its setup script, you can activate it in
"development" mode by going to that directory and running::
%(python)s setup.py develop
See the setuptools documentation for the "develop" command for more info.
(R?R@RR�RRW(R�R�RgRtpython((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRe>s cCs$tjjdt�tjjdt�t|�}|jdkrid|jd}|jdd|�n"|jdkr�|jdd�n|jr�|jdd �nt j
d
|t|�ddj|��yt
||�Wn;tk
rtj�d}td|jdf��nXdS(
Nsdistutils.command.bdist_eggsdistutils.command.egg_infoiR�iiR{s-qs-ns
Running %s %st sSetup script exited with %s(R�tmodulest
setdefaultRRtlistR�R�R�RR�R�R�Rt
SystemExitRRRp(R�RgRGRpR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRKs" $
c Csddg}tjdddtjj|��}z�|jtjj|��|j|�|j|||�t|g�}g}x?|D]7}x.||D]"}|j|j |j
|��q�Wq�W|r�|jr�tj
d|�n|SWdt|�tj|j�XdS(NRs
--dist-dirRxs
egg-dist-tmp-tdirs+No eggs found in %s (setup script problem?)(R R!R?R@Rt_set_fetcher_optionsR�RR*RaR)R�RR�R�R�R�( R�RgRGRptdist_dirtall_eggsteggsRR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRf`s$
$
c Cs�|jjd�j�}d}i}xF|j�D]8\}}||krOq1n|d||jdd �<q1Wtd|�}tjj|d
�}t j
||�dS(
s
When easy_install is about to run bdist_egg on a source dist, that
source dist might have 'setup_requires' directives, requiring
additional fetching. Ensure the fetcher options given to easy_install
are available to that command as well.
R5RnR�RmRqRviRzR{s setup.cfgN(s
find_linkss site_dirss index_urlsoptimizes site_dirssallow_hosts(R�R�tcopyRRNR�R?R@R�Rtedit_config( R�Rtei_optstfetch_directivest
fetch_optionsRR�tsettingstcfg_filename((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�xs cCs�|jdkrdSx~|j|jD]l}|jsE|j|jkr$tjd|�|jj|�|j|jkr�|jj|j�q�q$q$W|js|j|jj kr�tjd|�qtjd|�|jj
|�|j|jkr|jj|j�qn|js�|jj
�|jdkr�tjj|jd�}tjj|�rotj|�nt|d�}|j|jj|j�d�|j�q�ndS(Ns&Removing %s from easy-install.pth files4%s is already the active version in easy-install.pths"Adding %s to easy-install.pth fileR�ssetuptools.pthtwts
(R�RgRRtR)RR�tremoveR�tpathsR7R�R�tsaveR?R@R�RjR�R�R�Rt
make_relativeR�(R�RRPR�RT((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR6�s4
cCstjd||�|S(NsUnpacking %s to %s(Rtdebug(R�R�RH((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRd�scs�g�g����fd�}t|||��j���js�x<�D]1}tj|�tjdBd@}t||�qNWndS(Ncs�|jd�r/|jd�r/�j|�n.|jd�sM|jd�r]�j|�n�j||��jr}|p�dS(Ns.pys EGG-INFO/s.dlls.so(R,RdR�RdR�Rg(R�RH(R�tto_chmodR�(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytpf�simi�(RR�R�R?tstattST_MODER](R�RmRwR�RTR^((R�R�R�sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRu�s
cCs�tr|jd�dSddlm}zetj|jd�||ddddd|j�|jr�||d|jddd|j�nWdtj|j�XdS( Ns%byte-compiling is disabled, skipping.i����(R�iRqitforceR�( RR�tdistutils.utilR�RR�R�R�Rq(R�R�R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s
cCs d|jtjjdd�fS(Ns�bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
%s
and your PYTHONPATH environment variable currently contains:
%r
Here are some of your options for correcting the problem:
* You can choose a different installation directory, i.e., one that is
on PYTHONPATH or supports .pth files
* You can add the installation directory to the PYTHONPATH environment
variable. (It must then also be on PYTHONPATH whenever you run
Python and want to use the package(s) you are installing.)
* You can set up the installation directory to support ".pth" files by
using one of the approaches described here:
https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations
Please make the appropriate changes for your system and try again.R�R�(RjR?R�R�(R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��scCs?|jr
dStjj|jd�}tdd�}d}tjj|�r�tjd|j�t |d�}|j
�}tjd
kr�|j
�}n|j�|jd �s�td
|��q�n||kr2tjd|�|jst|�t |d�}|j|�|j�n|j|g�nt|_dS(s8Make sure there's a site.py in the target dir, if neededNssite.pyR�s
site-patch.pyR�sChecking existing site.py in %strbis
def __boot():s;%s is not a setuptools-generated site.py; please remove it.sCreating %stwb(i(R�R?R@R�RjR&RARR�R�treadR�tversion_infoRMR�RdRR�R�R'RR�R
(R�tsitepytsourcetcurrentRT((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR"s2
cCs�|js
dSttjjd��}xct|j�D]R\}}|j|�r5tjj|�r5|j d|�tj
|d�q5q5WdS(sCreate directories under ~.Nt~sos.makedirs('%s', 0700)i�(R`RR?R@R�RR�RdR�tdebug_printR(R�thomeR�R@((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�6s "R�Rjs/$base/lib/python$py_version_short/site-packagesRks $base/bins$base/Lib/site-packagess
$base/ScriptscGs |jd�j}|jr�|j�}|j|d<|jjtj|j�}xH|j �D]7\}}t
||d�dkr\t|||�q\q\Wnddl
m}xo|D]g}t
||�}|dk r�|||�}tjdkrtjj|�}nt|||�q�q�WdS(NR�Ri����(RR�(tget_finalized_commandR�RxR�RR�R?R�tDEFAULT_SCHEMERR�RgR�R�RR@R�(R�R�R�R4R�R�R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�Rs
N(sprefix=Nsinstallation prefix(szip-okRLsinstall package as a zipfile(s
multi-versionRMs%make apps have to require() a version(supgradeROs1force upgrade (searches PyPI for latest versions)(sinstall-dir=RPsinstall package to DIR(sscript-dir=RFsinstall scripts to DIR(sexclude-scriptsRQsDon't install scripts(salways-copyRRs'Copy all needed packages to install dir(s
index-url=RSs base URL of Python Package Index(sfind-links=RTs(additional URL(s) to search for packages(sdelete-conflictingRUs no longer needed; don't use this(signore-conflicts-at-my-riskNs no longer needed; don't use this(sbuild-directory=RVs/download/extract/build in DIR; keep the results(s optimize=RWslalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0](srecord=Ns3filename in which to record list of installed files(salways-unzipRXs*don't install as a zipfile, no matter what(s
site-dirs=RYs)list of directories where .pth files work(seditableR[s+Install specified packages in editable form(sno-depsR\sdon't install dependencies(sallow-hosts=R]s$pattern(s) that hostnames must match(slocal-snapshots-okR^s(allow building eggs from local checkouts(sversionNs"print version information and exit(s
no-find-linksNs9Don't load find-links defined in packages being installed((At__name__t
__module__t__doc__tdescriptionR
tcommand_consumes_argumentsRgtuser_optionstboolean_optionsRaR�ReRftnegative_optRR�R�R�R�R�R�R�R�R�R�R�R�R�RRRRRR5R$R�R(RBRJRRRLR.R0RaRbR~R/R�R8ReRRfR�R6RdRuR�R�R"R�R�RR�R�(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR5ks�
5
� * ) , )& / ) " ) 1 # )
$ ) ' cCsgtjjdd�jtj�D]}|r"|^q"}tjg}tjtjkrk|jtj�nx,|D]$}|rrtj dkr�|jtj
j|dd��n|tjdkr|j
tj
j|dd tjd
d�tj
j|dd�g�n%|j
|tj
j|dd�g�tj dkr�d
|kr�tjjd�}|r�|jtj
j|ddtjd
d��q�q�q�qrqrWx6t�t�fD]"}||kr�|j|�q�q�Wtr�|jtj�nttt|��}|S(NR�R�tos2emxtriscostLibs
site-packagesR�tlibR�issite-pythontdarwinsPython.frameworktHOMEtLibrarytPython(sos2emxsriscos(R?R�R�R�R�R�RxR�R�RxR@R�tseptextendR_RR RaReRfR�R�R%(R�tsitedirsR�RxR�tsite_lib((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�osD+
"
ccs^i}xQ|D]I}t|�}||kr1q
nd||<tjj|�sSq
ntj|�}||fVx�|D]�}|jd�s�qtn|dkr�qtnttjj||��}tt |��}|j
�xw|D]o}|jd�s�t|j��}||krNd||<tjj|�s4q�n|tj|�fVqNq�q�WqtWq
WdS(sBYield sys.path directories that might contain "old-style" packagesis.pthseasy-install.pthssetuptools.pthtimportN(seasy-install.pthssetuptools.pth(
R%R?R@R�RCR,R�R�R�R$R�Rdtrstrip(tinputstseenRRR�RTtlinestline((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s4
cCs�t|d�}z�tj|�}|dkr1dS|d|d|d}|dkr[dS|j|d�ddlm}m}ddl}|j d |j
d��\}}} |dkr�dS|j|d|�|jidd
6dd6�}
yx|j
|�}tj
dkr'tdg�}ntd�}|j|d�d}
|
jd�}
|
j||
��Wn|jk
r�dSX|
jd�s�|
jd�r�dS|
SWd|j�XdS(snExtract configuration data from a bdist_wininst .exe
Returns a ConfigParser.RawConfigParser, or None
R�i iiii����(tStringIOtConfigParserNs<iiiizV4i{V4R�R_RyiiiRHRitSetup(izV4i{V4(ii(R�tzipfilet_EndRecDataRgtseektsetuptools.compatR�R�R;tunpackR�tRawConfigParserR�R�tbytestchrR�RMtreadfptErrorthas_sectionR�(RFRTtendrect prependedR�R�R;ttagtcfglentbmlenR�tpartt null_bytetconfig((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR7�s<$ c
Cs�dddddg}tj|�}zwxp|j�D]b}|j}|jd�}t|�d kr�|d
dkr�|djd
�r�|jddj|d
�df�Pq�nt|�d
ks4|jd�r�q4n|jd�r�q4n|dj �dkr4|j
|�}tjdkr1|j
�}nxbt|�D]Q}|j�jdd�}|jd�s>|jd|d|fdf�q>q>Wq4q4WWd|j�Xg|D]\}} |j�| f^q�}|j�|j�|S(s4Get exe->egg path translations for a given .exe filesPURELIB/R�sPLATLIB/pywin32_system32sPLATLIB/sSCRIPTS/sEGG-INFO/scripts/sDATA/lib/site-packagesR�iisPKG-INFOis .egg-infois EGG-INFO/s.pths
-nspkg.pthtPURELIBtPLATLIBs\R�s%s/%s/N(sPURELIB/R�(sPLATLIB/pywin32_system32R�(sPLATLIB/R�(sSCRIPTS/sEGG-INFO/scripts/(sDATA/lib/site-packagesR�(RR(i(R�tZipFiletinfolistR�R�R�R,R�R�tupperR�R�R�RMR$R�RNRdR�R�Rtsorttreverse(
texe_filenameR�RLR�R�R�RItpthRQty((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR9�s< "#"3+
cCs<ytj|�SWn$tk
r7td|f��nXdS(Ns1Not a URL, existing file, or requirement spec: %r(R+tparseR�R(R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR% s
cBsMeZdZeZdd�Zd�Zd�Zd�Zd�Z d�Z
RS(s)A .pth file with Distribution paths in itcCs�||_ttt|��|_ttjj|j��|_|j �t
j|gdd�x6t
|j�D]%}tt|jt|t���qoWdS(N(R�R�R�R%R�R?R@Rtbasedirt_loadR*t__init__RgR$R�R7R)R
(R�R�R�R@((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-s
cCs�g|_t}tj|j�}tjj|j�r3t |jd�}x�|D]�}|j
d�rpt}qOn|j�}|jj
|�|j�sO|j�j
d�r�qOnttjj|j|��}|jd<tjj|�s�||kr|jj�t|_qOnd||<qOW|j�n|jrO|rOt|_nx.|jr|jdj�r|jj�qRWdS(NtrtR�t#i����i(R�RR�R�R�R?R@RcR�R�RdR
R�R�R�R%R�RRAtpoptdirtyR�(R�t
saw_importR�RTR�R@((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR5s2
"&
cCs�|js
dSdjt|j|j��}|r�tjd|j�d|}tj j
|j�rvtj|j�nt|jd�}|j
|�|j�n;tj j|j�r�tjd|j�tj|j�nt|_dS(s$Write changed .pth file back to diskNs
s Saving %ss�import sys; sys.__plen = len(sys.path)
%s
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)
R�sDeleting empty %s(RR�R�R�R�RR�R�R?R@R�R�R�RR�RAR(R�tdataRT((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�Ts
cCsl|j|jkrX|j|jks9|jtj�krX|jj|j�t|_ntj ||�dS(s"Add `dist` to the distribution mapN(
R)R�R�R?tgetcwdR�R
RR*R7(R�R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR7pscCsIx2|j|jkr4|jj|j�t|_qWtj||�dS(s'Remove `dist` from the distribution mapN(R)R�R�R
RR*(R�R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�zs
cCs�tjjt|��\}}t|j�}|g}tjdkrKdpQtj}xut|�|kr�||jkr�|jtj �|j
�|j|�Stjj|�\}}|j|�qWW|SdS(NR�(R?R@R�R%R�RtaltsepR�R�tcurdirRR�(R�R@tnpathtlasttbaselenR�R�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s
((R�R�R�RRRRR�R7R�R�(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR6(s
cCs)ddlm}t|jt�s=tj|jj��}n|dj�d}|j |�}d}|r�|j
d�p~d}|r�d|}q�n|r�d}nt|�}d t�}t
|�s |r|j�jd
�rd|j�d}qq d}nt||�}d t�}|S(s;Create a #! line, getting options (if any) from script_texti����(t
first_line_res
iR�iR�s
python.exes#!%(executable)s%(options)s
R{s -x(tdistutils.command.build_scriptsR%R�tpatternRTtretcompileRMt
splitlinestmatchtgrouptnt_quote_argRWRJR�Rdtfix_jython_executable(RXRtwininstR%tfirstR+toptionsthdr((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRV�s,
cCsz|tjkr8tjdkr8t|tj�||�Stj�\}}}t||d|dd||ff�dS(NR�iis %s %s( R?R�R�R]R�tS_IWRITER�RR#(tfunctargtexctettevRz((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt
auto_chmod�s
cCs1ddlm}t||�t|tj�dS(s?Ensure that the importer caches dont have stale info for `path`i����(t_zip_directory_cacheN(RjR:t_uncacheR�tpath_importer_cache(R@tzdc((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRr�s
cCsT||kr||=n:t|�}x+|D]#}t|�|kr)||=dSq)WdS(N(R%(R@tcachetp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR;�s
s<string>cCs7yt||d�Wnttfk
r.tSXtSdS(s%Is this string a valid Python script?texecN(R)tSyntaxErrort TypeErrorRR
(ttextR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt is_python�s
cCsNy)t|�}|jd�}|j�Wnttfk
rC|SX|dkS(sCDetermine if the specified executable is a .sh (contains a #! line)is#!(R�R�R�R�R�(Rtfptmagic((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_sh�scCsg}t}d}d|kp'd|k}|r@|jd�nx�|D]z}|dkrf|d7}qG|dkr�|jd|dd�d}qG|r�|jd|�d}n|j|�qGW|r�|jd|�n|r|jd|�|jd�nd j|�S(
s@Quote a command line argument according to Windows parsing rulesiR�s t"s\iis\"R�(RR�R�(R5tresultt needquotetnbtc((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-�s,
cCsb|jd�s|jd�r"tSt||�r5tS|jd�r^d|j�dj�kStS(sMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc.
s.pys.pyws#!R�i(R,R
RDRdR*RR(RXR�((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRUs(R]cGsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_chmodscCs_tjd||�yt||�Wn4tjk
rZtj�d}tjd|�nXdS(Nschanging mode of %s to %oischmod failed: %s(RR�RMR?terrorR�R(R@R^R[((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR]scCsntjjd�rjt|�rjddl}|jjjd�dkrI|S|r_tj d�qjd|Sn|S(Ntjavai����sos.nametLinuxs�WARNING: Unable to adapt shebang line for Jython, the following script is NOT executable
see http://bugs.jython.org/issue1112 for more information.s/usr/bin/env %s(
R�RxRdRGROtlangtSystemtgetPropertyRR�(RR1RO((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR.sccs�t|j��}td||�}x�dD]{}xr|j|�j�D][\}}dt�}tjdksu|r�|dkr�d} d}
dg}tj d d
|�}n0d} d}
d
ddg}tj dd|�}t
jj|dd!j
d��stjdkr|}
n|}
||
|
|dg|D]}||^q6fV|dt| �dfVt�s�|d}|t|�dfVq�qG|||fVqGWq+WdS(sEYield write_script() argument tuples for a distribution's entrypointsR�tconsole_scriptstgui_scriptss�# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
__requires__ = %(spec)r
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point(%(spec)r, %(group)r, %(name)r)()
)
twin32tguis-script.pyws.pyws(?i)python.exespythonw.exetclis
-script.pys.pys.pycs.pyos(?i)pythonw.exes
python.exeii����RHR[s.exeRVs
.exe.manifestN(RTRU(RTR;RVt
get_entry_mapRRWR�RxR(tsubR?R@RAR�tget_win_launcherR=tload_launcher_manifest(RRR/R�theaderR,R�tepRXt
launcher_typeR�R�t
new_headerR2RQtm_name((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRK0s4
"
1 0
cCstd|}tj�j�dkr7|jdd�}nt�rU|jdd�}n|jdd�}td|�S(s�
Load the Windows launcher (executable) suitable for launching a script.
`type` should be either 'cli' or 'gui'
Returns the executable as a byte string.
s%s.exetarmt.s-arm.s-64.s-32.R�(RxtmachineRRNR=R&(ttypetlauncher_fn((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR[ds
cCsHtjtd�}tjddkr0|t�S|jd�t�SdS(Nslauncher manifest.xmliisutf-8(t
pkg_resourcesR&R�R�R�tvarsRM(R�tmanifest((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\uscCst|rd�}n|dkr*d�}ng}ytj|�}Wn-tjk
rr|tj|tj��nXx�|D]�}tjj||�}ytj|�j }Wntjk
r�d}nXt
j|�r�t|||�qzytj
|�Wqztjk
r*|tj
|tj��qzXqzWytj|�Wn-tjk
ro|tj|tj��nXdS(s�Recursively delete a directory tree.
This code is taken from the Python 2.4 version of 'shutil', because
the 2.3 version doesn't really work right.
cWsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytonerror�scWs�dS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRj�siN(RgR?RCRNR�RR@R�tlstattst_modeR�tS_ISDIRR�R�trmdir(R@t
ignore_errorsRjR�R�tfullnameR^((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�|s2
!cCs tjd�}tj|�|S(Ni(R?tumask(ttmp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\�s
cCsMddl}tjj|jd�}|tjd<tjj|�t�dS(Ni����i( R�R?R@Rt__path__R�targvR�R8(R�targv0((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt bootstrap�s
cs�ddlm�ddlm�ddl�d��fd����fd��d�f��fd��Y��dkr�tjd �n�����fd
��dS(Ni����(tsetup(R,sLusage: %(script)s [options] requirement_or_url ...
or: %(script)s --help
cstjj|�}�t�S(N(R?R@RRh(Rtscript(tUSAGE(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt gen_usage�scs7�jj}z��j_|�SWd|�j_XdS(N(tcoreRz(RTt
old_gen_usage(R�Rz(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt
with_ei_usage�s
tDistributionWithoutHelpCommandscs eZdZ��fd�ZRS(R�cs �����fd��dS(Ncs�j����S(N(t
_show_help((R,RptkwR�(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt<lambda>�s((R�RpR�(R,R}(RpR�R�sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR�s(R�R�tcommon_usageR((R,R}(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR~�sic s6�ddddg�dtjdp)dd���S(Ntscript_argss-qR5s-vRit distclass(R�Rt((R~RtR�Rw(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR��s(R�Rwtsetuptools.distR,tdistutils.coreRgR�Rt(RtR�(( R,R~RyRtR�RzR�RwR}sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8�s(sR�R�R?RjRDR R�R(R�R�RxRRgR�RRtsetuptools.sandboxRR�RRt sysconfigRRR RR�tdistutils.sysconfigRR�RRRtdistutils.errorsRRRRtdistutils.command.installRRtsetuptools.commandRtsetuptools.archive_utilRtsetuptools.package_indexRRRRR�RRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R�tsys_executableR@RBRt__all__ReR_tENABLE_USER_SITERaR;R=R4R�RGRJR5R�R�R7R9R%R6RRVR9RrR;RDRGR-RUR]RMR.RKR[R\R�R\RvRgR8(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt<module>s�
".d
����� - ) 6 % h
)
4 # |