U ʗRe@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddl mZddlmZdd lmZmZmZdd lmZeeZGd d d e ZdS) N)Values)List) cmdoptions)make_target_python)RequirementCommand with_cleanup)SUCCESS)get_build_tracker) ensure_dirnormalize_path write_output) TempDirectoryc@s<eZdZdZdZddddZeeee e ddd Z dS) DownloadCommandaL Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. a %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] ... %prog [options] ... %prog [options] ...N)returnc Cs\|jt|jt|jt|jt|jt|jt|jt |jt |jt |jt |jt |jt|jt|jt|jt|jt|jjddddddtjddt|jttj|j}|jd ||jd |jdS) Nz-dz--destz--destination-dirz--destination-directory download_dirdirzDownload packages into .)destmetavardefaulthelpr)cmd_opts add_optionr constraints requirementsno_depsglobal_options no_binary only_binary prefer_binarysrcprerequire_hashes progress_barno_build_isolation use_pep517 no_use_pep517check_build_depsignore_requires_pythonoscurdiradd_target_python_optionsmake_option_group index_groupparserinsert_option_group)self index_optsr1/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/commands/download.py add_options%sB zDownloadCommand.add_options)optionsargsrc Cs.d|_g|_t|t|j|_t|j||}t|}|j ||||j d}| t }t |j ddd}|||||}|j||||||jd|jd} |j| |||j |j|jd} ||| j|dd} g} | jD]2} | jdkr| jdk st| | | | jq| r*td d | t S) NT)r4session target_pythonr'download)deletekindglobally_managedF)temp_build_dirr4 build_trackerr6finderr use_user_site verbosity)preparerr>r4r'r$py_version_info)check_supported_wheelszSuccessfully downloaded %s )!ignore_installed editablesrcheck_dist_restrictionr rr get_default_sessionr_build_package_finderr' enter_contextr r no_cleanget_requirementsmake_requirement_preparerr@ make_resolverr$python_versiontrace_basic_inforesolvervalues satisfied_bynameAssertionErrorsave_linked_requirementappendr joinr)r/r4r5r6r7r>r= directoryreqsrAresolverrequirement_setZ downloadedreqr1r1r2runLsb         zDownloadCommand.run) __name__ __module__ __qualname____doc__usager3rrrstrintr^r1r1r1r2rs  'r)loggingr(optparsertypingrZpip._internal.clirZpip._internal.cli.cmdoptionsrpip._internal.cli.req_commandrrpip._internal.cli.status_codesr,pip._internal.operations.build.build_trackerr pip._internal.utils.miscr r r pip._internal.utils.temp_dirr getLoggerr_loggerrr1r1r1r2s