U ja@sddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z m Z ddl ZddlmZddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd l m!Z!ddl"m#Z#ddl$m%Z%e&e'Z(e)e ddddZ*ddddZ+e e)e)fdddZ,e)edddZ-e)e e)dddZ.e e)e)fddddZ/ddd d!Z0edd"d#d$Z1ee)d%d&d'Z2Gd(d)d)eZ3dS)*N)Values) ModuleType)AnyDictListOptional)where)parse)__file__) cmdoptions)Command)make_target_python)SUCCESS) Configuration)get_environment) indent_log)get_pip_version)namevaluereturncCstd||dS)Nz%s: %s)loggerinfo)rrrt/private/var/folders/k6/_7fsz4ts3b78x3b3xwrxjh_c8s8xv7/T/pip-unpacked-wheel-bug3gbve/pip/_internal/commands/debug.py show_valuesrrc Cs2tdtjj}ttd|W5QRXdS)Nzsys.implementation:r)rrsysimplementationrrr)implementation_namerrrshow_sys_implementations rc CsPtjtjtdd}t|}dd|D}W5QRXtdd|DS)N_vendorz vendor.txtcSs(g|] }d|kr|dddqS)== r)stripsplit.0linerrr /sz)create_vendor_txt_map..css|]}|ddVqdS)r!r#N)r%r&rrr 3sz(create_vendor_txt_map..)ospathjoindirname pip_locationopen readlinesdict)Zvendor_txt_pathflinesrrrcreate_vendor_txt_map%s  r5) module_namercCs:|}|dkrd}td|ttddttj|S)N setuptools pkg_resourcesz pip._vendor.r)level)lower __import__globalslocalsgetattrpipr )r6rrrget_module_from_module_name6sr@cCsHt|}t|dd}|sDttj|jg}||}|rDt|j }|S)N __version__) r@r>rr+r,r.r get_distributionstrversion)r6modulerDenvdistrrrget_vendor_version_from_moduleFs   rH)vendor_txt_versionsrcCsZ|D]L\}}d}t|}|s*d}|}nt|t|krDd|}td|||qdS)z{Log the actual version and print extra info if there is a conflict or if the actual version could not be imported. zM (Unable to locate actual module version, using vendor.txt specified version)z5 (CONFLICT: vendor.txt suggests version should be {})z%s==%s%sN)itemsrH parse_versionformatrr)rIr6Zexpected_versionZ extra_messageZactual_versionrrrshow_actual_vendor_versionsTsrNc Cs.tdt}tt|W5QRXdS)Nzvendored library versions:)rrr5rrN)rIrrrshow_vendor_versionses rO)optionsrc Csd}t|}|}|}d}|r0d|d}dt||}t||jdkrrt||krrd}|d|}nd}t8|D]}tt |q|rd j|d }t|W5QRXdS) N rJz (target: )zCompatible tags: {}{}r#TFz?... [First {tag_limit} tags shown. Pass --verbose to show all.]) tag_limit) r get_tags format_givenrMlenrrverboserrC) rPrS target_pythontagsZformatted_targetsuffixmsgZ tags_limitedtagrrr show_tagsms,  r])configrcstt}|D]\}}||ddq|s4dSdddgfdd|D}|sXd Sd |krj|d d |S) N.rz Not specifiedinstallwheeldownloadcsg|]}|kr|qSrr)r'r9Zlevels_that_override_globalrrr)sz"ca_bundle_info..globalz, )setrKaddr%remover-)r^levelskey_Zglobal_overriding_levelrrcrca_bundle_infos   rkc@s<eZdZdZdZdZddddZeee e dd d Z dS) DebugCommandz$ Display debug information. z %prog TNrcCs,t|j|jd|j|jjdS)Nr)r add_target_python_optionscmd_optsparserinsert_option_groupr^load)selfrrr add_optionss zDebugCommand.add_options)rPargsrcCstdtdttdtjtdtjtdttdttdt tdtj t td t |jjtd tjd td tjd td ttd tjjtt|tS)NzThis command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.z pip versionz sys.versionzsys.executablezsys.getdefaultencodingzsys.getfilesystemencodingzlocale.getpreferredencodingz sys.platformz'cert' config valueREQUESTS_CA_BUNDLECURL_CA_BUNDLEzpip._vendor.certifi.where()zpip._vendor.DEBUNDLED)rwarningrrrrD executablegetdefaultencodinggetfilesystemencodinglocalegetpreferredencodingplatformrrkror^r+environgetrr?r DEBUNDLEDrOr]r)rrrPrtrrrruns,     zDebugCommand.run) __name__ __module__ __qualname____doc__usageignore_require_venvrsrrrCintrrrrrrls rl)4r{loggingr+roptparsertypesrtypingrrrr pip._vendorr?pip._vendor.certifirpip._vendor.packaging.versionr rLr r/Zpip._internal.clir pip._internal.cli.base_commandr Zpip._internal.cli.cmdoptionsr pip._internal.cli.status_codesrpip._internal.configurationrZpip._internal.metadatarpip._internal.utils.loggingrpip._internal.utils.miscr getLoggerrrrCrrr5r@rHrNrOr]rkrlrrrrs:              !