<!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>

h fg                 @   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 i d d 6d d 6d d 6d d 6d d 6Z i i d d 6d d 6d d 6d d 6d d 6d 6i d d 6d d 6d d 6d d 6d d 6d  6e d! 6Z e ri d" d 6d" d 6d# d 6d$ d 6d% d 6e d& <i d" d 6d" d 6d' d 6d( d 6d% d 6e d) <n  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_SITETz$base/Lib/site-packagespurelibplatlibz$base/Include/$dist_nameheadersz$base/Scriptsscriptsz$basedataz/$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_prefixz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name	unix_homentz	$usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez$userbase/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,  n  i d d  6Z	 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/python34/lib64/python3.4/distutils/command/install.pyinitialize_options   s2    																	
							zinstall.initialize_optionsc             C   s  |  j  s |  j s |  j r@ |  j s- |  j r@ t d d   n  |  j rj |  j  s[ |  j rj t d   n  |  j r |  j  s |  j s |  j s |  j s |  j r t d   n  t j d k r |  j r |  j	 d  d |  _ q n  |  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
 rrd } Yn Xi |  j j   d 6|  j j   d 6|  j j   d 6| d 6| d
 d  d 6| d
 | d d 6| d 6| d 6| d 6| d 6| d 6|  _ t r#|  j |  j d <|  j |  j d <n  |  j   |  j
 d  |  j |  j d <|  j |  j d <t rd
 d l m } t d  | |  j  n  |  j   |  j
 d   |  j r|  j    n  |  j! d k r|  j j" r|  j# |  _! q|  j$ |  _! n  |  j% d! d" d# d$ d% d& d d  |  j&   |  j! |  _' t j( j) |  j! |  j*  |  _! |  j+ d k	 rw|  j, d' d! d" d# d$ d% d&  n  |  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_nodotZ
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   )
build_baserg   )	build_librh   ).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 rh | d d	  } n  | |  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   rl   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   n  d S|  j	 r |  j
 d k r t d   n  |  j
 |  _  |  _ |  j d  n |  j d k	 r|  j |  _  |  _ |  j d  n |  j d k rg|  j d k	 r4t d   n  t j j t j  |  _ t j j t j  |  _ n |  j d k r|  j |  _ n  |  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@   ri   r}   normpathro   )rU   rV   rV   rW   rm     s<    	zinstall.finalize_unixc             C   s   |  j  rQ |  j d k r' t d   n  |  j |  _ |  _ |  j t j d  n |  j d k	 r |  j |  _ |  _ |  j d  ny |  j	 d k r t j
 j t j	  |  _	 n  |  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   ri   rj   rA   r?   r}   r   ro   KeyError)rU   rV   rV   rW   rn     s"    	zinstall.finalize_otherc             C   sU   t  | } xD t D]< } d | } t |  |  d k r t |  | | |  q q Wd S)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMESSCHEME_KEYSr   setattr)rU   rj   schemekeyZattrnamerV   rV   rW   r     s
    

zinstall.select_schemec             C   s   x | D]y } t  |  |  } | d  k	 r t j d k sF t j d k r[ t j j |  } n  t | |  j  } t |  | |  q q Wd  S)NrY   r   )r   ri   rj   r}   
expanduserr	   rt   r   )rU   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   rv     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   rx     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   namesrj   r   rV   rV   rW   rz     s    
zinstall.convert_pathsc             C   s   |  j  d k r! |  j j  |  _  n  |  j  d k	 r t |  j  t  rZ |  j  j d  |  _  n  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   rs   
isinstancestrrq   lenr   r   	path_filer   )rU   r   r   rV   rV   rW   r{     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   rj   r   rV   rV   rW   r     s    
zinstall.change_rootsc             C   s   |  j  s d St t j j d   } xc |  j j   D]R \ } } | j |  r5 t j j |  r5 |  j	 d |  t j
 | d  q5 q5 Wd S)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i  )r=   r   ri   r}   r   rt   items
startswithisdirZdebug_printmakedirs)rU   rA   rj   r}   rV   rV   rW   ry     s    	"zinstall.create_home_pathc             C   s  |  j  sU |  j d  |  j j d  j } |  j rU | t   k rU t d   qU n  x! |  j   D] } |  j |  qb W|  j	 r |  j
   n  |  j r|  j   } |  j r t |  j  } x5 t t |   D] } | | | d  | | <q Wn  |  j t |  j | f d |  j  n  t t j j t j  } t t j j |  } t j j t j j |  j   } |  j r|  j	 o|  j r| | k rt j d |  j  n  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_commandrs   Zget_command_objZ	plat_namerQ   r   r   get_sub_commandsr   create_path_filerT   get_outputsrD   r   rangeexecuter   mapri   r}   r   ro   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)
ri   r}   r~   r|   r   rO   r   r   r   rk   )rU   filenamerV   rV   rW   r   C  s    		zinstall.create_path_filec             C   s   g  } xV |  j    D]H } |  j |  } x0 | j   D]" } | | k r5 | j |  q5 q5 Wq W|  j r |  j r | j t j j |  j	 |  j d   n  | S)z.Assembles the outputs of all the sub-commands.z.pth)
r   get_finalized_commandr   appendr   rO   ri   r}   r~   r|   )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.)rs   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.)rs   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.)rs   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.)rs   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-   )zcompiler/   r0   )r1   Nr2   )r3   r4   r5   )zforcer7   r8   )r9   Nr:   )r;   Nr<   ) __name__
__module____qualname__Zdescriptionr   Zboolean_optionsru   r   r   r   rX   r   rl   rm   rn   r   r   rv   rx   rz   r{   r   ry   r   r   r   r   r   r   r   r   Zsub_commandsrV   rV   rV   rW   r   I   s                 	M(		,				r   )zpurelibzplatlibzheaderszscriptszdata)__doc__ro   ri   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   ru   ZWINDOWS_SCHEMEr   r   r   rV   rV   rV   rW   <module>   sb   

