AlkantarClanX12

Your IP : 18.119.192.2


Current Path : /opt/alt/python35/lib64/python3.5/distutils/command/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/distutils/command/__pycache__/install.cpython-35.opt-1.pyc



��Yf�g�
@s�dZddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZdd	lmZmZmZdd
lmZddlmZddlmZdd
lmZdZddddddddddiZdddddddddddiddddddd ddddid!eiZer�dd"dd"dd#dd$dd%ied&<dd"dd"dd'dd(dd%ied)<d,ZGd*d+�d+e�ZdS)-zFdistutils.command.install

Implements the Distutils 'install' command.�N)�log)�Command)�DEBUG)�get_config_vars)�DistutilsPlatformError)�
write_file)�convert_path�
subst_vars�change_root)�get_platform)�DistutilsOptionError)�	USER_BASE)�	USER_SITET�purelibz$base/Lib/site-packages�platlib�headersz$base/Include/$dist_name�scriptsz
$base/Scripts�dataz$base�unix_prefixz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez	$base/bin�	unix_homez$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name�ntz	$usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz	$userbase�nt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez
$userbase/bin�	unix_userc@s�eZdZdZd_d`dadbdddd
fdcdddeddddfdfdgdhdidjdkdldmdngZdd%d(gZer�ejd,dd-ef�ejd,�d diZ	d.d/�Z
d0d1�Zd2d3�Zd4d5�Z
d6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Zd@dA�ZdBdC�ZdDdE�ZdFdG�ZdHdI�ZdJdK�ZdLdM�ZdNdO�ZdPdQ�ZdRdS�ZdTdU�ZdVdW�ZdXefdYefdZefd[efd\d]d^�fgZdS)o�installz'install everything from build directory�prefix=N�installation prefix�exec-prefix=�.(Unix only) prefix for platform-specific files�home=�+(Unix only) home directory to install under�
install-base=�;base installation directory (instead of --prefix or --home)zinstall-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)�root=�<install everything relative to this alternate root directory�install-purelib=�;installation directory for pure Python module distributions�install-platlib=�8installation directory for non-pure module distributionszinstall-lib=z4installation directory for all module distributions z3(overrides --install-purelib and --install-platlib)�install-headers=�(installation directory for C/C++ headers�install-scripts=�)installation directory for Python scripts�
install-data=�%installation directory for data files�compile�c�compile .py to .pyc [default]�
no-compile�don't compile .py files�	optimize=�O�lalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]�force�f�1force installation (overwrite any existing files)�
skip-build�2skip rebuilding everything (for testing/debugging)�record=�3filename in which to record list of installed files�userz!install in user site-package '%s'cCs�d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_t
|_t|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)zInitializes options.Nr�)�prefix�exec_prefix�homer=�install_base�install_platbase�root�install_purelib�install_platlib�install_headers�install_lib�install_scripts�install_datar
�install_userbaser�install_usersiter.�optimize�
extra_path�install_path_filer6�
skip_build�warn_dir�
build_base�	build_lib�record)�self�rV�>/opt/alt/python35/lib64/python3.5/distutils/command/install.py�initialize_options�s2																	
							zinstall.initialize_optionscCsr|js|js|jr=|js-|jr=tdd��|jrd|jsX|jrdtd��|jr�|js�|js�|js�|js�|jr�td��tjdkr�|jr�|j	d�d|_|j
d�tjdkr�|j�n
|j�|j
d	�t
jj�d
}tdd�\}}y
t
j}Wntk
rcd
}YnXd|jj�d|jj�d|jj�d|d|d
d�d|d
|dd|d|d|d|d|i|_tr|j|jd<|j|jd<|j�|j
d�|j|jd<|j|jd<trjd
dlm}td�||j�|j�|j
d �|jr�|j �|j!dkr�|jj"r�|j#|_!n|j$|_!|j%d!d"d#d$d%d&dd�|j&�|j!|_'tj(j)|j!|j*�|_!|j+dk	rN|j,d'd!d"d#d$d%d&�|j
d(�|j-d)d,d-�dS).zFinalizes options.z.must supply either prefix/exec-prefix/home or z)install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)base�posixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()rr?r@�Z	dist_nameZdist_versionZ
dist_fullname�
py_version�py_version_short��py_version_nodot�Z
sys_prefixZsys_exec_prefix�abiflags�userbaseZusersitezpost-expand_basedirs()�base�platbase)�pprintzconfig vars:zpost-expand_dirs()�librrrrrZlibbasezafter prepending root�buildrRrS)rRrR)rSrS).r?r@rArBrCrr=�os�name�warn�	dump_dirs�
finalize_unix�finalize_other�sys�version�splitrr`�AttributeError�distributionZget_nameZget_versionZget_fullname�config_vars�
HAS_USER_SITErKrL�expand_basedirsrrd�print�expand_dirs�create_home_pathrHZext_modulesrFrE�
convert_paths�handle_extra_path�install_libbase�path�join�
extra_dirsrD�change_rootsZset_undefined_options)rUr[r?r@r`rdrVrVrW�finalize_options�s�
	$	
	












	
	



	zinstall.finalize_optionscCs�ts
dSddlm}tj|d�x�|jD]�}|d}|ddkre|dd	�}||jkr�|j|}|j|�}t||�}n|j|�}t||�}tjd||f�q5WdS)
zDumps the list of user options.Nr)�
longopt_xlate�:r>�=z  %s: %s���r�)	rZdistutils.fancy_getoptr�r�debug�user_options�negative_opt�	translate�getattr)rU�msgr�ZoptZopt_name�valrVrVrWrjss

zinstall.dump_dirscCs�|jdk	s|jdk	r�|jdkrK|jdkrK|jdksx|jdksx|jdksx|jdkr�td��dS|j	r�|j
dkr�td��|j
|_|_|jd�n�|j
dk	r|j
|_|_|jd�n�|jdkr^|jdk	r+td��tjjtj�|_tjjtj�|_n|jdkry|j|_|j|_|j|_|jd�dS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)rBrCrHrErFrGrIrJrr=rKr�
select_schemerAr?r@rgr{�normpathrm)rUrVrVrWrk�s<				zinstall.finalize_unixcCs�|jrN|jdkr$td��|j|_|_|jtjd�n�|jdk	r�|j|_|_|jd�nv|j	dkr�tj
jtj	�|_	|j	|_|_y|jtj�Wn%t
k
r�tdtj��YnXdS)z)Finalizes options for non-posix platformsNz$User base directory is not specifiedZ_userrz)I don't know how to install stuff on '%s')r=rKrrBrCr�rgrhrAr?r{r�rm�KeyError)rUrVrVrWrl�s"		
zinstall.finalize_othercCsRt|}xAtD]9}d|}t||�dkrt||||�qWdS)z=Sets the install directories by applying the install schemes.�install_N)�INSTALL_SCHEMES�SCHEME_KEYSr��setattr)rUrh�scheme�keyZattrnamerVrVrWr��s



zinstall.select_schemecCs�x{|D]s}t||�}|dk	rtjdksFtjdkrXtjj|�}t||j�}t|||�qWdS)NrYr)r�rgrhr{�
expanduserr	rrr�)rUZattrs�attrr�rVrVrW�
_expand_attrs�s
zinstall._expand_attrscCs|jdddg�dS)zNCalls `os.path.expanduser` on install_base, install_platbase and
        root.rBrCrDN)r�)rUrVrVrWrt�szinstall.expand_basedirscCs#|jddddddg�dS)z+Calls `os.path.expanduser` on install dirs.rErFrHrGrIrJN)r�)rUrVrVrWrv�szinstall.expand_dirscGs>x7|D]/}d|}t||tt||���qWdS)z!Call `convert_path` over `names`.r�N)r�rr�)rU�namesrhr�rVrVrWrx�s

zinstall.convert_pathscCs�|jdkr|jj|_|jdk	r�t|jt�rT|jjd�|_t|j�dkr}|jd}}n3t|j�dkr�|j\}}ntd��t|�}nd}d}||_||_	dS)z4Set `path_file` and `extra_dirs` using `extra_path`.N�,r>rr_zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrZ)
rNrq�
isinstance�strro�lenrr�	path_filer})rUr�r}rVrVrWry�s 		zinstall.handle_extra_pathc	GsDx=|D]5}d|}t||t|jt||���qWdS)z:Change the install directories pointed by name using root.r�N)r�r
rDr�)rUr�rhr�rVrVrWr~s

zinstall.change_rootscCs�|js
dSttjjd��}x`|jj�D]O\}}|j|�r5tjj|�r5|j	d|�tj
|d�q5WdS)zCreate directories under ~.N�~zos.makedirs('%s', 0o700)i�)r=rrgr{r�rr�items�
startswith�isdirZdebug_print�makedirs)rUrArhr{rVrVrWrws	"zinstall.create_home_pathcCs�|jsO|jd�|jjd�j}|jrO|t�krOtd��x!|j�D]}|j|�q\W|j	r�|j
�|jr|j�}|j
r�t|j
�}x2tt|��D]}|||d�||<q�W|jt|j|fd|j�ttjjtj�}ttjj|�}tjjtjj|j��}|jr�|j	oq|jr�||kr�tjd|j�dS)zRuns the command.rfz"Can't install when cross-compilingNz'writing list of installed files to '%s'z�modules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)rPZrun_commandrqZget_command_objZ	plat_namerQrr�get_sub_commandsr��create_path_filerT�get_outputsrDr��range�executer�maprgr{r�rm�normcaserHrOrr�)rUZ
build_plat�cmd_name�outputsZroot_lenZcounterZsys_pathrHrVrVrW�runs6	
	
			!		zinstall.runcCsctjj|j|jd�}|jrN|jt||jgfd|�n|j	d|�dS)zCreates the .pth filez.pthzcreating %szpath file '%s' not createdN)
rgr{r|rzr�rOr�rr}ri)rU�filenamerVrVrWr�Cs		zinstall.create_path_filecCs�g}xS|j�D]E}|j|�}x-|j�D]}||kr5|j|�q5WqW|jr�|jr�|jtjj|j	|jd��|S)z.Assembles the outputs of all the sub-commands.z.pth)
r��get_finalized_commandr��appendr�rOrgr{r|rz)rUr�r��cmdr�rVrVrWr�Qszinstall.get_outputscCsCg}x6|j�D](}|j|�}|j|j��qW|S)z*Returns the inputs of all the sub-commands)r�r��extend�
get_inputs)rUZinputsr�r�rVrVrWr�bs
zinstall.get_inputscCs|jj�p|jj�S)zSReturns true if the current distribution has any Python
        modules to install.)rqZhas_pure_modulesZhas_ext_modules)rUrVrVrW�has_libnszinstall.has_libcCs
|jj�S)zLReturns true if the current distribution has any headers to
        install.)rq�has_headers)rUrVrVrWr�tszinstall.has_headerscCs
|jj�S)zMReturns true if the current distribution has any scripts to.
        install.)rq�has_scripts)rUrVrVrWr�yszinstall.has_scriptscCs
|jj�S)zJReturns true if the current distribution has any data to.
        install.)rqZhas_data_files)rUrVrVrW�has_data~szinstall.has_datarHrGrIrJZinstall_egg_infocCsdS)NTrV)rUrVrVrW�<lambda>�szinstall.<lambda>)rNr)rNr)rNr)r Nr!)r"Nr#)r$Nr%)r&Nr')r(Nr))r*Nr+)r,Nr-)r.r/r0)r1Nr2)r3r4r5)r6r7r8)r9Nr:)r;Nr<) �__name__�
__module__�__qualname__Zdescriptionr�Zboolean_optionsrsr�rr�rXrrjrkrlr�r�rtrvrxryr~rwr�r�r�r�r�r�r�r�Zsub_commandsrVrVrVrWrIs�	
M�(		,				r)rrrrr)�__doc__rmrgZ	distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr	r
rrZsiter
rrsZWINDOWS_SCHEMEr�r�rrVrVrVrW�<module>s\