a *eg@sddlZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlmZdd lmZdd lmZmZdd lmZmZdd lmZdd lmZmZee Z!Gddde Z"dS)N)Values)List) WheelCache) cmdoptions)RequirementCommand with_cleanup)SUCCESS) CommandError)get_build_tracker)InstallRequirementcheck_legacy_setup_py_options) ensure_dirnormalize_path) TempDirectory)buildshould_build_for_wheel_commandc@s<eZdZdZdZddddZeeee e ddd Z dS) WheelCommanda Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ 'pip wheel' uses the build system interface as described here: https://pip.pypa.io/en/stable/reference/build-system/ z %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...N)returncCs|jjddddtjdd|jt|jt|jt|jt|jt |jt |jt |jt |jt |jt|jt|jt|jt|jt|jjddd d d d |jt|jt|jt|jjd d d dd|jtttj|j}|jd||jd|jdS)Nz-wz --wheel-dir wheel_dirdirzLBuild wheels into , where the default is the current working directory.)destmetavardefaulthelpz --no-verify no_verify store_trueFz%Don't verify if built wheel is valid.)ractionrrz--prezYInclude pre-release and development versions. By default, pip only finds stable versions.)rrrr)cmd_opts add_optionoscurdirr no_binary only_binary prefer_binaryno_build_isolation use_pep517 no_use_pep517Zcheck_build_deps constraintseditable requirementssrcignore_requires_pythonno_deps progress_barconfig_settings build_optionsglobal_optionsrequire_hashesmake_option_group index_groupparserinsert_option_group)self index_optsr8F/usr/local/lib/python3.9/site-packages/pip/_internal/commands/wheel.py add_options,sZ  zWheelCommand.add_options)optionsargsrc Cs||}|||}t|j|_t|j|t}t|j ddd}| ||||}t ||t |j }|j ||||||jd|jd} |j| ||||j|jd} ||| j|dd} g} | jD](} | jr| | qt| r| | q| | jt| ||j |jpg|jp&gd\}}|D]~} | jrJ| jjsNJ| j sZJzt!"| j |jWn@t#y}z&t$%d | j&||| WYd}~n d}~00q4t'|d krt(d t)S) NwheelT)deletekindglobally_managedF)temp_build_dirr; build_trackersessionfinder download_dir use_user_site verbosity)preparerrDr; wheel_cacher+r%)check_supported_wheels)rIverifyr/r0z Building wheel for %s failed: %srz"Failed to build one or more wheels)*get_default_session_build_package_finderrrr enter_contextr rno_cleanget_requirementsr r cache_dirmake_requirement_preparerrG make_resolverr+r%trace_basic_inforesolver)valuesis_wheelsave_linked_requirementrappend prepare_linked_requirements_morerrr/r0linklocal_file_pathshutilcopyOSErrorloggerwarningnamelenr r)r6r;r<rCrDrB directoryreqsrIrHresolverrequirement_set reqs_to_buildreqbuild_successesbuild_failureser8r8r9rungs|              $zWheelCommand.run) __name__ __module__ __qualname____doc__usager:rrrstrintrmr8r8r8r9rs  ;r)#loggingrr]optparsertypingrpip._internal.cacherZpip._internal.clirpip._internal.cli.req_commandrrpip._internal.cli.status_codesrpip._internal.exceptionsr Z,pip._internal.operations.build.build_trackerr Zpip._internal.req.req_installr r pip._internal.utils.miscr rpip._internal.utils.temp_dirrpip._internal.wheel_builderrr getLoggerrnr`rr8r8r8r9s