3 ]K@svddlmZddlZddlZddlZddlZddljjZ ddl Z e jZ Gddde jZdde jj Dej e_ dS))DistutilsArgErrorNc@seZdZdZejjddgZejjddgZddd fd d d fgZe eZ d d Z ddZ ddZ ddZeddZddZdS)installz7Use easy_install to install the package, w/dependenciesold-and-unmanageableNTry not to use this!!single-version-externally-managed5used by system package builders to create 'flat' eggsinstall_egg_infocCsdS)NT)selfr r @/tmp/pip-build-8jg9gmni/setuptools/setuptools/command/install.pyszinstall.install_scriptscCsdS)NTr )r r r r r scCstjj|d|_d|_dS)N)origrinitialize_optionsold_and_unmanageable!single_version_externally_managed)r r r r r s zinstall.initialize_optionscCs<tjj||jrd|_n|jr8|j r8|j r8tddS)NTzAYou must specify --record or --root when building system packages)rrfinalize_optionsrootrrecordr)r r r r r%s zinstall.finalize_optionscCs(|js |jrtjj|Sd|_d|_dS)N)rrrrhandle_extra_path path_file extra_dirs)r r r r r0s  zinstall.handle_extra_pathcCs@|js |jrtjj|S|jtjs4tjj|n|jdS)N) rrrrrun_called_from_setupinspect currentframedo_egg_install)r r r r r:s   z install.runcCsz|dkr4d}tj|tjdkr0d}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. IronPythonz6For best results, pass -X:Frames to enable call stack.T__name__rzdistutils.dist run_commands) warningswarnplatformpython_implementationrgetouterframes getframeinfo f_globalsgetfunction)Z run_framemsgresZcallerinfoZ caller_moduler r r rEs     zinstall._called_from_setupcCs|jjd}||jd|j|jd}|jd|_|jjtjd|j d|jj dj g}t j rp|jdt j ||_|jdt _ dS)N easy_installx)argsrr.z*.eggZ bdist_eggr) distributionget_command_classrrensure_finalizedZalways_copy_fromZ package_indexscanglob run_commandget_command_objZ egg_output setuptoolsZbootstrap_install_frominsertr1r)r r/cmdr1r r r r`s  zinstall.do_egg_install)rNr)rNr)r! __module__ __qualname____doc__rr user_optionsboolean_options new_commandsdict_ncrrrr staticmethodrrr r r r rs      rcCsg|]}|dtjkr|qS)r)rrD).0r<r r r {srG)Zdistutils.errorsrrr7r#r%distutils.command.installcommandrrr:_install sub_commandsrBr r r r s  l