<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Yfg                 @   s  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z d d l m Z d d	 l m Z m Z m Z d d
 l m Z d d l m Z d d l m Z d d l m Z d Z d d d d d d d d d d i Z d d d d d d d d d d d i d d d d d d d  d d d d i d! e i Z e rd d" d d" d d# d d$ d d% i e d& <d d" d d" d d' d d( d d% i e d) <d, Z Gd* d+   d+ e  Z d S)-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  e  Z d  Z d Z d_ d` da db d d d d f dc dd de d d d d f df dg dh di dj dk dl dm dn g Z d d% d( g Z e r e j d, d d- e f  e j d,  d  d i Z	 d. d/   Z
 d0 d1   Z d2 d3   Z d4 d5   Z d6 d7   Z d8 d9   Z d: d;   Z d< d=   Z d> d?   Z d@ dA   Z dB dC   Z dD dE   Z dF dG   Z dH dI   Z dJ dK   Z dL dM   Z dN dO   Z dP dQ   Z dR dS   Z dT dU   Z dV dW   Z dX e f dY e f dZ e f d[ e f d\ d] d^   f g Z d S)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)zinstall-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=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef1force installation (overwrite any existing files)
skip-build2skip rebuilding everything (for testing/debugging)record=3filename in which to record list of installed filesuserz!install in user site-package '%s'c             C   s   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 |  _ d S)zInitializes 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    																	
							zinstall.initialize_optionsc             C   sr  |  j  s |  j s |  j r= |  j s- |  j r= t d d   |  j rd |  j  sX |  j rd t d   |  j r |  j  s |  j s |  j s |  j s |  j r t d   t j d k r |  j r |  j	 d  d |  _ |  j
 d  t j d k r |  j   n
 |  j   |  j
 d	  t j j   d
 } t d d  \ } } y t j } Wn t k
 rcd } Yn Xd |  j j   d |  j j   d |  j j   d | d | d
 d  d | d
 | d d | d | d | d | d | i |  _ t r|  j |  j d <|  j |  j d <|  j   |  j
 d  |  j |  j d <|  j |  j d <t rjd
 d l m } t d  | |  j  |  j   |  j
 d   |  j r|  j    |  j! d k r|  j j" r|  j# |  _! n |  j$ |  _! |  j% d! d" d# d$ d% d& d d  |  j&   |  j! |  _' t j( j) |  j! |  j*  |  _! |  j+ d k	 rN|  j, d' d! d" d# d$ d% d&  |  j
 d(  |  j- d) d, d-  d S).zFinalizes 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 platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()r   r?   r@    Z	dist_nameZdist_versionZdist_fullname
py_versionpy_version_short   py_version_nodot   Z
sys_prefixZsys_exec_prefixabiflagsuserbaseZusersitezpost-expand_basedirs()baseplatbase)pprintzconfig vars:zpost-expand_dirs()libr   r   r   r   r   Zlibbasezafter prepending rootbuildrR   rS   )rR   rR   )rS   rS   ).r?   r@   rA   rB   rC   r   r=   osnamewarn	dump_dirsfinalize_unixfinalize_othersysversionsplitr   r`   AttributeErrordistributionZget_nameZget_versionZget_fullnameconfig_varsHAS_USER_SITErK   rL   expand_basedirsr   rd   printexpand_dirscreate_home_pathrH   Zext_modulesrF   rE   convert_pathshandle_extra_pathinstall_libbasepathjoin
extra_dirsrD   change_rootsZset_undefined_options)rU   r[   r?   r@   r`   rd   rV   rV   rW   finalize_options   s    
	$		




	
	

	zinstall.finalize_optionsc             C   s   t  s
 d Sd d l m } t j | d  x |  j D] } | d } | d d k re | d d	  } | |  j k r |  j | } | j |  } t |  |  } n | j |  } t |  |  } t j d | | f  q5 Wd S)
zDumps the list of user options.Nr   )longopt_xlate:r>   =z  %s: %sr   )	r   Zdistutils.fancy_getoptr   r   debuguser_optionsnegative_opt	translategetattr)rU   msgr   ZoptZopt_namevalrV   rV   rW   rj   s  s    
zinstall.dump_dirsc             C   s  |  j  d k	 s |  j d k	 r |  j d k rK |  j d k rK |  j d k sx |  j d k sx |  j d k sx |  j d k r t d   d S|  j	 r |  j
 d k r t d   |  j
 |  _  |  _ |  j d  n |  j d k	 r|  j |  _  |  _ |  j d  n |  j d k r^|  j d k	 r+t d   t j j t j  |  _ t j j t j  |  _ n |  j d k ry|  j |  _ |  j |  _  |  j |  _ |  j d  d S)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedr   r   z*must not supply exec-prefix without prefixr   )rB   rC   rH   rE   rF   rG   rI   rJ   r   r=   rK   r   select_schemerA   r?   r@   rg   r{   normpathrm   )rU   rV   rV   rW   rk     s<    				zinstall.finalize_unixc             C   s   |  j  rN |  j d k r$ t d   |  j |  _ |  _ |  j t j d  n |  j d k	 r |  j |  _ |  _ |  j d  nv |  j	 d k r t j
 j t j	  |  _	 |  j	 |  _ |  _ y |  j t j  Wn% t k
 r t d t j   Yn Xd S)z)Finalizes options for non-posix platformsNz$User base directory is not specifiedZ_userr   z)I don't know how to install stuff on '%s')r=   rK   r   rB   rC   r   rg   rh   rA   r?   r{   r   rm   KeyError)rU   rV   rV   rW   rl     s"    		zinstall.finalize_otherc             C   sR   t  | } xA t D]9 } d | } t |  |  d k r t |  | | |  q Wd S)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMESSCHEME_KEYSr   setattr)rU   rh   schemekeyZattrnamerV   rV   rW   r     s
    

zinstall.select_schemec             C   s   x{ | D]s } t  |  |  } | d  k	 r t j d k sF t j d k rX t j j |  } t | |  j  } t |  | |  q Wd  S)NrY   r   )r   rg   rh   r{   
expanduserr	   rr   r   )rU   Zattrsattrr   rV   rV   rW   _expand_attrs  s    zinstall._expand_attrsc             C   s   |  j  d d d g  d S)zNCalls `os.path.expanduser` on install_base, install_platbase and
        root.rB   rC   rD   N)r   )rU   rV   rV   rW   rt     s    zinstall.expand_basedirsc             C   s#   |  j  d d d d d d g  d S)z+Calls `os.path.expanduser` on install dirs.rE   rF   rH   rG   rI   rJ   N)r   )rU   rV   rV   rW   rv     s    zinstall.expand_dirsc             G   s>   x7 | D]/ } d | } t  |  | t t |  |    q Wd S)z!Call `convert_path` over `names`.r   N)r   r   r   )rU   namesrh   r   rV   rV   rW   rx     s    
zinstall.convert_pathsc             C   s   |  j  d k r |  j j  |  _  |  j  d k	 r t |  j  t  rT |  j  j d  |  _  t |  j   d k r} |  j  d } } n3 t |  j   d k r |  j  \ } } n t d   t |  } n d } d } | |  _ | |  _	 d S)z4Set `path_file` and `extra_dirs` using `extra_path`.N,r>   r   r_   zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrZ   )
rN   rq   
isinstancestrro   lenr   r   	path_filer}   )rU   r   r}   rV   rV   rW   ry     s     		zinstall.handle_extra_pathc          	   G   sD   x= | D]5 } d | } t  |  | t |  j t |  |    q Wd S)z:Change the install directories pointed by name using root.r   N)r   r
   rD   r   )rU   r   rh   r   rV   rV   rW   r~     s    
zinstall.change_rootsc             C   s   |  j  s d St t j j d   } x` |  j j   D]O \ } } | j |  r5 t j j |  r5 |  j	 d |  t j
 | d  q5 Wd S)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i  )r=   r   rg   r{   r   rr   items
startswithisdirZdebug_printmakedirs)rU   rA   rh   r{   rV   rV   rW   rw     s    	"zinstall.create_home_pathc             C   s  |  j  sO |  j d  |  j j d  j } |  j rO | t   k rO t d   x! |  j   D] } |  j |  q\ W|  j	 r |  j
   |  j r|  j   } |  j r t |  j  } x2 t t |   D] } | | | d  | | <q W|  j t |  j | f d |  j  t t j j t j  } t t j j |  } t j j t j j |  j   } |  j r|  j	 oq|  j r| | k rt j d |  j  d S)zRuns the command.rf   z"Can't install when cross-compilingNz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)rP   Zrun_commandrq   Zget_command_objZ	plat_namerQ   r   r   get_sub_commandsr   create_path_filerT   get_outputsrD   r   rangeexecuter   maprg   r{   r   rm   normcaserH   rO   r   r   )rU   Z
build_platcmd_nameoutputsZroot_lenZcounterZsys_pathrH   rV   rV   rW   run  s6    		
			!		zinstall.runc             C   sc   t  j j |  j |  j d  } |  j rN |  j t | |  j g f d |  n |  j	 d |  d S)zCreates the .pth filez.pthzcreating %szpath file '%s' not createdN)
rg   r{   r|   rz   r   rO   r   r   r}   ri   )rU   filenamerV   rV   rW   r   C  s    		zinstall.create_path_filec             C   s   g  } xS |  j    D]E } |  j |  } x- | j   D] } | | k r5 | j |  q5 Wq W|  j r |  j r | j t j j |  j	 |  j d   | S)z.Assembles the outputs of all the sub-commands.z.pth)
r   get_finalized_commandr   appendr   rO   rg   r{   r|   rz   )rU   r   r   cmdr   rV   rV   rW   r   Q  s    zinstall.get_outputsc             C   sC   g  } x6 |  j    D]( } |  j |  } | j | j    q W| S)z*Returns the inputs of all the sub-commands)r   r   extend
get_inputs)rU   Zinputsr   r   rV   rV   rW   r   b  s
    zinstall.get_inputsc             C   s   |  j  j   p |  j  j   S)zSReturns true if the current distribution has any Python
        modules to install.)rq   Zhas_pure_modulesZhas_ext_modules)rU   rV   rV   rW   has_libn  s    zinstall.has_libc             C   s   |  j  j   S)zLReturns true if the current distribution has any headers to
        install.)rq   has_headers)rU   rV   rV   rW   r   t  s    zinstall.has_headersc             C   s   |  j  j   S)zMReturns true if the current distribution has any scripts to.
        install.)rq   has_scripts)rU   rV   rV   rW   r   y  s    zinstall.has_scriptsc             C   s   |  j  j   S)zJReturns true if the current distribution has any data to.
        install.)rq   Zhas_data_files)rU   rV   rV   rW   has_data~  s    zinstall.has_datarH   rG   rI   rJ   Zinstall_egg_infoc             C   s   d S)NTrV   )rU   rV   rV   rW   <lambda>  s    zinstall.<lambda>)r   Nr   )r   Nr   )r   Nr   )r    Nr!   )r"   Nr#   )r$   Nr%   )r&   Nr'   )r(   Nr)   )r*   Nr+   )r,   Nr-   )r.   r/   r0   )r1   Nr2   )r3   r4   r5   )r6   r7   r8   )r9   Nr:   )r;   Nr<   ) __name__
__module____qualname__Zdescriptionr   Zboolean_optionsrs   r   r   r   rX   r   rj   rk   rl   r   r   rt   rv   rx   ry   r~   rw   r   r   r   r   r   r   r   r   Zsub_commandsrV   rV   rV   rW   r   I   s                 	M(		,				r   )r   r   r   r   r   )__doc__rm   rg   Z	distutilsr   Zdistutils.corer   Zdistutils.debugr   Zdistutils.sysconfigr   Zdistutils.errorsr   Zdistutils.file_utilr   Zdistutils.utilr   r	   r
   r   r   Zsiter   r   rs   ZWINDOWS_SCHEMEr   r   r   rV   rV   rV   rW   <module>   s\   		