U QabK@s|ddlmZddlZddlZddlZddlZddlmmZ ddl Z e jZ Gddde jZdde jj Dej e_ dS))DistutilsArgErrorNc@seZdZdZejjddgZejjddgZdddfd d dfgZe eZ d d Z d dZ ddZ ddZeddZddZdS)installz7Use easy_install to install the package, w/dependencies)old-and-unmanageableNzTry not to use this!)!single-version-externally-managedNz5used by system package builders to create 'flat' eggsrrZinstall_egg_infocCsdSNTselfrr>/usr/lib/python3.8/site-packages/setuptools/command/install.pyzinstall.Zinstall_scriptscCsdSrrrrrr r r cCstj|d|_d|_dSN)origrinitialize_optionsold_and_unmanageable!single_version_externally_managedrrrr r s zinstall.initialize_optionscCs8tj||jrd|_n|jr4|js4|js4tddS)NTzAYou must specify --record or --root when building system packages)rrfinalize_optionsrootrrecordrrrrr r%s  zinstall.finalize_optionscCs(|js |jrtj|Sd|_d|_dS)N)rrrrhandle_extra_pathZ path_fileZ extra_dirsrrrr r0s  zinstall.handle_extra_pathcCs@|js |jrtj|S|ts4tj|n|dSr ) rrrrrun_called_from_setupinspectZ currentframedo_egg_installrrrr r:s   z install.runcCsz|dkr4d}t|tdkr0d}t|dSt|d}|dd\}t|}|jdd }|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) warningswarnplatformZpython_implementationrZgetouterframesZ getframeinfo f_globalsgetZfunction)Z run_framemsgresZcallerinfoZ caller_modulerrr rEs     zinstall._called_from_setupcCs|jd}||jd|j|jd}|d|_|jtd| d|j dj g}t j rp|dt j ||_|dt _ dS)N easy_installx)argsrr.z*.eggZ bdist_eggr)Z distributionZget_command_classrrZensure_finalizedZalways_copy_fromZ package_indexscanglobZ run_commandZget_command_objZ egg_output setuptoolsZbootstrap_install_frominsertr(r)r r&cmdr(rrr r`s"  zinstall.do_egg_installN)r __module__ __qualname____doc__rrZ user_optionsZboolean_options new_commandsdict_ncrrrr staticmethodrrrrrr rs(      rcCsg|]}|dtjkr|qS)r)rr4).0r.rrr {sr7)Zdistutils.errorsrrr+rr Zdistutils.command.installZcommandrrr,_installZ sub_commandsr2rrrr s l