3 ÄvhKã@svddlmZddlZddlZddlZddlZddljjZ ddl Z e jZ Gdd„de jƒZdd„e jj Dƒej e_ dS)é)ÚDistutilsArgErrorNc@s„eZdZdZejjddgZejjddgZddd „fd d d „fgZe eƒZ d d „Z dd„Z dd„Z dd„Zedd„ƒZdd„ZdS)Úinstallz7Use easy_install to install the package, w/dependenciesúold-and-unmanageableNúTry not to use this!ú!single-version-externally-managedú5used by system package builders to create 'flat' eggsZinstall_egg_infocCsdS)NT©)Úselfrrú/usr/lib/python3.6/install.pyÚszinstall.Zinstall_scriptscCsdS)NTr)r rrr r scCstjj|ƒd|_d|_dS)N)ÚorigrÚinitialize_optionsÚold_and_unmanageableÚ!single_version_externally_managed)r rrr r s zinstall.initialize_optionscCs<tjj|ƒ|jrd|_n|jr8|j r8|j r8tdƒ‚dS)NTzAYou must specify --record or --root when building system packages)r rÚfinalize_optionsÚrootrÚrecordr)r rrr r%s zinstall.finalize_optionscCs(|js |jrtjj|ƒSd|_d|_dS)NÚ)rrr rÚhandle_extra_pathZ path_fileZ extra_dirs)r rrr r0s  zinstall.handle_extra_pathcCs@|js |jrtjj|ƒS|jtjƒƒs4tjj|ƒn|jƒdS)N) rrr rÚrunÚ_called_from_setupÚinspectZ currentframeÚdo_egg_install)r rrr r:s   z install.runcCsz|dkr4d}tj|ƒtjƒdkr0d}tj|ƒdStj|ƒd}|dd…\}tj|ƒ}|jjdd ƒ}|d kox|j d kS) añ Attempt to detect whether run() was called from setup() or by another command. If called by setup(), the parent caller will be the 'run_command' method in 'distutils.dist', and *its* caller will be the 'run_commands' method. If called any other way, the immediate caller *might* be 'run_command', but it won't have been called by 'run_commands'. Return True in that case or if a call stack is unavailable. Return False otherwise. Nz4Call stack not available. bdist_* commands may fail.Z IronPythonz6For best results, pass -X:Frames to enable call stack.TééÚ__name__rzdistutils.distZ run_commands) ÚwarningsÚwarnÚplatformZpython_implementationrZgetouterframesZ getframeinfoÚ f_globalsÚgetZfunction)Z run_frameÚmsgÚresZcallerÚinfoZ caller_modulerrr rEs     zinstall._called_from_setupcCsˆ|jjdƒ}||jd|j|jd�}|jƒd|_|jjtjdƒƒ|j dƒ|jj dƒj g}t j rp|jdt j ƒ||_|jƒdt _ dS)NÚ easy_installÚx)ÚargsrrÚ.z*.eggZ bdist_eggr)Z distributionZget_command_classrrZensure_finalizedZalways_copy_fromZ package_indexÚscanÚglobZ run_commandZget_command_objZ egg_outputÚ setuptoolsZbootstrap_install_fromÚinsertr&r)r r$Úcmdr&rrr r`s  zinstall.do_egg_install)rNr)rNr)rÚ __module__Ú __qualname__Ú__doc__r rZ user_optionsZboolean_optionsÚ new_commandsÚdictÚ_ncr rrrÚ staticmethodrrrrrr rs      rcCsg|]}|dtjkr|‘qS)r)rr2)Ú.0r,rrr ú {sr5)Zdistutils.errorsrrr)rrZdistutils.command.installZcommandrr r*Ú_installZ sub_commandsr0rrrr Ús  l