选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
U &Ì.e�jã@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddœZddddddœddddddœedœZe�rddddddœed <ddd!d"ddœed#<dZGd$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_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)ÚpurelibÚplatlibÚheadersÚscriptsÚ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/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name)Ú unix_prefixÚ unix_homeÚntz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbaseZnt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/binÚ unix_userc@s:eZdZdZdddddddd d d d d ddddddgZdddgZer`e dddef¡e d¡ddiZ dd„Z dd„Z dd „Z d!d"„Z d#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Zd?d@„ZdAdB„ZdCdD„ZdEefdFefdGefdHefdIdJdK„fgZdS)LÚinstallz'install everything from build directory)zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nzr)r%r&r+r(r)r*r,r-r r r.rÚ select_schemer$r"r#ÚhasattrrMÚ base_prefixrGÚenvironr\Únormpath)r9Zadditionr:r:r;rKˆsZ ÿþýüûÿ ÿ     ÿ  ÿþ zinstall.finalize_unixcCs¼|jr8|jdkrtdƒ‚|j|_|_| tjd¡n€|jdk r\|j|_|_| d¡n\|j dkrvtj   t j ¡|_ |j |_|_z| tj¡Wn"t k r¶tdtjƒ‚YnXdS)z)Finalizes options for non-posix platformsNrmZ_userrz)I don't know how to install stuff on '%s')r r.rr%r&rorGrHr$r"r\rsrMÚKeyErrorr8r:r:r;rL»s& ÿ   ÿzinstall.finalize_othercCs<t|}tD]*}d|}t||ƒdkr t||||ƒq dS)z=Sets the install directories by applying the install schemes.Úinstall_N)ÚINSTALL_SCHEMESÚ SCHEME_KEYSriÚsetattr)r9rHZschemeÚkeyÚattrnamer:r:r;roÑs zinstall.select_schemecCsX|D]N}t||ƒ}|dk rtjdks.tjdkr:tj |¡}t||jƒ}t|||ƒqdS)Nr=r)rirGrHr\Ú expanduserr rSrx)r9ÚattrsÚattrrlr:r:r;Ú _expand_attrsÚs   zinstall._expand_attrscCs| dddg¡dS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.r%r&r'N©r~r8r:r:r;rUãszinstall.expand_basedirscCs| ddddddg¡dS)z+Calls `os.path.expanduser` on install dirs.r(r)r+r*r,r-Nrr8r:r:r;rWès þzinstall.expand_dirscGs,|D]"}d|}t||tt||ƒƒƒqdS)z!Call `convert_path` over `names`.ruN)rxrri©r9ÚnamesrHr}r:r:r;rYîszinstall.convert_pathscCs¤|jdkr|jj|_|jdk rŒt d¡t|jtƒrB|j d¡|_t|jƒdkr`|jd}}n"t|jƒdkrz|j\}}ntdƒ‚t |ƒ}nd}d}||_ ||_ dS) z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.ú,r!rr?zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr>) r1rQrrIÚ isinstanceÚstrrOÚlenr rÚ path_filer^)r9r†r^r:r:r;rZôs(   ÿ  ÿ zinstall.handle_extra_pathc Gs0|D]&}d|}t||t|jt||ƒƒƒqdS)z:Change the install directories pointed by name using root.ruN)rxr r'rir€r:r:r;r_szinstall.change_rootscCsb|js dSttj d¡ƒ}|j ¡D]8\}}| |¡r$tj |¡s$|  d|¡t  |d¡q$dS)zCreate directories under ~.Nú~zos.makedirs('%s', 0o700)iÀ) r rrGr\r{rSÚitemsÚ startswithÚisdirZ debug_printÚmakedirs)r9r$rHr\r:r:r;rXszinstall.create_home_pathcCs"|js6| d¡|j d¡j}|jr6|tƒkr6tdƒ‚| ¡D]}| |¡q>|j r\|  ¡|j rº|  ¡}|j r t|j ƒ}tt|ƒƒD]}|||d…||<q†| t|j |fd|j ¡ttjjtjƒ}ttjj|ƒ}tj tj |j¡¡}|j�r|j �r|j�s||k�rt d|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)r3Z run_commandrQZget_command_objZ plat_namer4r rÚget_sub_commandsr†Úcreate_path_filer7Ú get_outputsr'r…ÚrangeÚexecuterÚmaprGr\rsrMÚnormcaser+r2rre)r9Z build_platÚcmd_nameÚoutputsZroot_lenZcounterZsys_pathr+r:r:r;Úrun(sD    ÿþÿÿþýz install.runcCsJtj |j|jd¡}|jr8| t||jgfd|¡n|  d|¡dS)zCreates the .pth fileú.pthz creating %szpath file '%s' not createdN) rGr\r]r[r†r2r�rr^rI)r9Úfilenamer:r:r;r�Ts ÿ þzinstall.create_path_filecCshg}| ¡D].}| |¡}| ¡D]}||kr"| |¡q"q |jrd|jrd| tj |j |jd¡¡|S)z.Assembles the outputs of all the sub-commands.r–) rŒÚget_finalized_commandrŽÚappendr†r2rGr\r]r[)r9r”r“Úcmdr—r:r:r;rŽbs    ÿzinstall.get_outputscCs.g}| ¡D]}| |¡}| | ¡¡q |S)z*Returns the inputs of all the sub-commands)rŒr˜ÚextendÚ get_inputs)r9Zinputsr“ršr:r:r;rœss   zinstall.get_inputscCs|j ¡p|j ¡S)zSReturns true if the current distribution has any Python modules to install.)rQZhas_pure_modulesZhas_ext_modulesr8r:r:r;Úhas_libs ÿzinstall.has_libcCs |j ¡S)zLReturns true if the current distribution has any headers to install.)rQÚ has_headersr8r:r:r;rž…szinstall.has_headerscCs |j ¡S)zMReturns true if the current distribution has any scripts to. install.)rQÚ has_scriptsr8r:r:r;rŸŠszinstall.has_scriptscCs |j ¡S)zJReturns true if the current distribution has any data to. install.)rQZhas_data_filesr8r:r:r;Úhas_data�szinstall.has_datar+r*r,r-Zinstall_egg_infocCsdS)NTr:r8r:r:r;Úšózinstall.) Ú__name__Ú __module__Ú __qualname__Z descriptionrfZboolean_optionsrTr™rrgr<r`rJrKrLror~rUrWrYrZr_rXr•r�rŽrœr�ržrŸr Z sub_commandsr:r:r:r;rIsn É; ÿ N3  " ,  ür)Ú__doc__rMrGZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrTZWINDOWS_SCHEMErvrwrr:r:r:r;Úsb          û ûûñû ú