3 Pf1@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZdd lmZmZdd lmZejeZGd d d eZdS) )absolute_importN)RequirementCommand) CommandErrorPreviousBuildDirError)RequirementSet)import_or_raise)BuildDirectory)RemovedInPip10Warning) WheelCache WheelBuilder) cmdoptionscs<eZdZdZdZdZdZfddZddZd d Z Z S) 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/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. Zwheelz %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...z$Build wheels from your requirements.csPtt|j|||j}|jddddtjdd|jtj|jtj |jtj |jtj |jddd d d d |jtj |jtj |jtj|jtj|jtj|jtj|jtj|jd dd d dd|jddddd|jtj|jtjtjtj|j}|jjd||jjd|dS)Nz-wz --wheel-dir wheel_dirdirzLBuild wheels into , where the default is the current working directory.)destmetavardefaulthelpz--build-option build_optionsoptionsappendz9Extra arguments to be supplied to 'setup.py bdist_wheel'.)rractionrz--global-optionglobal_optionszZExtra global options to be supplied to the setup.py call before the 'bdist_wheel' command.)rrrrz--pre store_trueFzYInclude pre-release and development versions. By default, pip only finds stable versions.)rrrr)superr __init__cmd_optsZ add_optionoscurdirr Z use_wheelZ no_use_wheelZ no_binaryZ only_binaryZ constraintsZeditableZ requirementssrcignore_requires_pythonZno_deps build_dirno_cleanrequire_hashesZmake_option_groupZ index_groupparserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/wheel.pyr.sVzWheelCommand.__init__cCs.tdtdtdtd}t|ds*tddS)Nzwheel.bdist_wheelzM'pip wheel' requires the 'wheel' package. To fix this, run: pip install wheel pkg_resourceszp'pip wheel' requires setuptools >= 0.8 for dist-info support. To fix this, run: pip install --upgrade setuptoolsZDistInfoDistribution)rrhasattr)r%r+r)r)r*check_required_packageshs z$WheelCommand.check_required_packagesc Cs|jtj|tj||jr.tjdt|jr@tjdt|j rRtjdt|j g|j }|j r|t jddj|g}|jrtjj|j|_tjj|j|_|j|}|j||}|jp|j }t|j|j}t|j|d}t||jd|jd|j|j|||j |j!d } |j"| |||||j#|| j$s6dSzZy6t%| ||j&pJg|j'pTgd } | j(slt)d Wnt*k rd|_YnXWd|js| j+XWdQRXWdQRXdS) Nz--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zIgnoring indexes: %s,)deleteT) r!src_dirZ download_dirignore_dependenciesZignore_installedr isolatedsession wheel_cacheZwheel_download_dirr#)rrz"Failed to build one or more wheels),r-r Zresolve_wheel_no_use_binaryZcheck_install_build_globalZallow_externalwarningswarnr Zallow_all_externalZallow_unverifiedZ index_urlZextra_index_urlsZno_indexloggerdebugjoinr!rpathabspathr0Z_build_sessionZ_build_package_finderr"r cache_dirZformat_controlrrr1r Z isolated_moderr#Zpopulate_requirement_setnameZhas_requirementsr rrZbuildrrZ cleanup_files) r%rr&Z index_urlsr3finderZ build_deleter4r!Zrequirement_setwbr)r)r*run|sv         zWheelCommand.run) __name__ __module__ __qualname____doc__r=ZusageZsummaryrr-r@ __classcell__r)r))r(r*r s  :r )Z __future__rZloggingrr5Zpip.basecommandrZpip.exceptionsrrZpip.reqrZ pip.utilsrZpip.utils.buildrZpip.utils.deprecationr Z pip.wheelr r Zpipr Z getLoggerrAr7r r)r)r)r*s