<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Re5                 @   s   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m	 Z	 d  d l
 m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z m Z d  d l m Z d  d	 l m Z Gd
 d   d e  Z d S)    N)InstallRequirementRequirementSetparse_requirements)logger)
src_prefixvirtualenv_no_globaldistutils_schemebuild_prefix)Command)PackageFinder)InstallationErrorCommandErrorPreviousBuildDirError)
cmdoptions)BuildDirectoryc                   sX   e  Z d  Z d Z d Z d Z d Z d Z   f d d   Z d d	   Z	 d
 d   Z
   S)InstallCommandaI  
    Install packages from:

    - PyPI (and other indexes) using requirement specifiers.
    - VCS project urls.
    - Local project directories.
    - Local or remote source archives.

    pip also supports installing from "requirements files", which provide
    an easy way to specify a whole environment to be installed.
    installz
      %prog [options] <requirement specifier> ...
      %prog [options] -r <requirements file> ...
      %prog [options] [-e] <vcs project url> ...
      %prog [options] [-e] <local project path> ...
      %prog [options] <archive url/path> ...zInstall packages.Fc                sh  t  t |   j | |   |  j } | j d d d d d d d g  d d	 d
 d | j t j j    | j t j j    | j d d d d d d d d  d
 d | j d d d d d d d d d d  d
 d | j t j	 j    | j d d d d d d d d d t
 d
 d | j d d d d d d  d
 d! | j d" d d# d d  d
 d$ | j d% d& d d' d d  d
 d( | j t j j    | j d) d d* d d  d
 d+ | j d, d d- d d  d
 d. | j t j j    | j t j j    | j d/ d d0 d d  d
 d1 | j d2 d d3 d d  d
 d4 | j d5 d d6 d d d d  d
 d7 | j d8 d d9 d d: d d  d
 d; | j d< d d  d d= d d> d
 d? | j d@ d dA d d= d
 dB | j t j j    | j t j j    | j dC d d  d dD d
 dE | j t j j    t j t j |  j  } |  j j dF |  |  j j dF |  d  S)GNz-ez
--editabledest	editablesactionappenddefaultmetavarzpath/urlhelpzkInstall a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url.z-tz--target
target_dirdirzInstall packages into <dir>.z-dz
--downloadz--download-dirz--download-directorydownload_dirz`Download packages into <dir> instead of installing them, regardless of what's already installed.z--srcz--sourcez--source-dirz--source-directorysrc_dirzDirectory to check out editable projects into. The default in a virtualenv is "<venv path>/src". The default for global installs is "<current dir>/src".z-Uz	--upgradeupgrade
store_truezUpgrade all packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied.z--force-reinstallforce_reinstallzKWhen upgrading, reinstall all packages even if they are already up-to-date.z-Iz--ignore-installedignore_installedz5Ignore the installed packages (reinstalling instead).z--no-install
no_installzNDEPRECATED. Download and unpack all packages, but don't actually install them.z--no-downloadno_downloadzDEPRECATED. Don't download any packages, just install the ones already downloaded (completes an install run with --no-install).z--useruse_user_sitezInstall using the user scheme.z--eggas_eggzInstall packages as eggs, not 'flat', like pip normally does. This option is not about installing *from* eggs. (WARNING: Because this option overrides pip's normal install logic, requirements files may not behave as expected.)z--root	root_pathz=Install everything relative to this alternate root directory.z--strip-file-prefixstrip_file_prefixprefixz5Strip given prefix from script paths in wheel RECORD.z	--compilecompileTzCompile py files to pycz--no-compilestore_falsezDo not compile py files to pycz--preFzYInclude pre-release and development versions. By default, pip only finds stable versions.r   )superr   __init__cmd_opts
add_optionr   requirementsmake	build_dirdownload_cacher   no_depsinstall_optionsglobal_options	use_wheelno_use_wheelno_cleanmake_option_groupindex_groupparserinsert_option_group)selfargskwr-   
index_opts)	__class__ //tmp/pip-ztkk0jow-build/pip/commands/install.pyr,   (   s    					zInstallCommand.__init__c             C   sR   t  d | j d | d | j d | j d | j d | j d | j d | j d	 |  	S)
z
        Create a package finder appropriate to this install command.
        This method is meant to be overridden by subclasses, not
        called directly.
        
find_links
index_urlsr6   allow_externalallow_unverifiedallow_all_externalallow_all_prereleasesprocess_dependency_linkssession)r   rD   r6   rF   rG   rH   prerJ   )r=   optionsrE   rK   rB   rB   rC   _build_package_finder   s    						z$InstallCommand._build_package_finderc          "   C   s  | j  s$ | j s$ | j s$ | j r7 t j d d  n  | j rU d | _  d | _ n  | j d  k r | j  sv | j r t | _ n  | j r t	 j
 j | j  | _ n  t	 j
 j | j  | _ | j p g  } | j r t   r t d   n  | j d  n  d  } | j rd | _ t j   } t	 j
 j | j  | _ t	 j
 j | j  rtt	 j
 j | j  rtt d   n  | j d |  n  | j pg  } | j g | j } | j rt j d d	 j |   g  } n  | j rt j d d
  n  | j rt j d d  | | j 7} n  |  j  |  } |  j! | | |  } | j pN| j }	 t" | j d |	 }
 t# d |
 d | j d | j d | j$ d | j% d | j& d | j d | j' d | j( d | j d | d | d | j)  } x' | D] } | j* t+ j, | d    qWx0 | j- D]% } | j* t+ j. | d | j/  qWxG | j0 D]< } x3 t1 | d | d | d | D] } | j* |  qkWqFW| j2 si |  j3 d 6} | j4 rd t5 | d d  j | j4  } n
 d! | } t j6 |  d  SzEy | j s| j7 | d" |  j8 d# |  j8 n
 | j9   | j  r|  j8 r| j: | | d$ | j; d% | j< d  j d& d'   | j= D  } | r
t j d( |  q
nu |  j8 sd  j d) d'   | j> D  } | r
t j d* |  q
n0 |  j8 r
| j? |  j@  t j d+ |  j@  n  Wn tA k
 r+d | _   Yn XWd  | j rc| j  sM| j rc| jB d# |  j8  n  XWd  QX| j rt	 j
 j | j  st	 jC | j  n  tD d, d- | d. } xH t	 jE |  D]7 } tF jG t	 j
 j | |  t	 j
 j | j |   qWtF jH |  n  | S)/Nz1.7z~DEPRECATION: --no-install, --no-download, --build, and --no-clean are deprecated.  See https://github.com/pypa/pip/issues/906.TzZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.z--userz=Target path exists but is not a directory, will not continue.z--home=zIgnoring indexes: %s,z--use-mirrors has been deprecated and will be removed in the future. Explicit uses of --index-url and/or --extra-index-url is suggested.z--mirrors has been deprecated and will be removed in  the future. Explicit uses of --index-url and/or --extra-index-url is suggested.deleter1   r   r   r2   r   r%   r!   ignore_dependenciesr    r$   r   rK   	pycompiledefault_vcsfinderrM   namez^You must give at least one requirement to %(name)s (maybe you meant "pip %(name)s %(links)s"?)links zLYou must give at least one requirement to %(name)s (see "pip help %(name)s")force_root_egg_infobundlerootr'   c             S   s   g  |  ] } | j   q SrB   )rU   ).0reqrB   rB   rC   
<listcomp>4  s   	 z&InstallCommand.run.<locals>.<listcomp>zSuccessfully installed %sc             S   s   g  |  ] } | j   q SrB   )rU   )r[   r\   rB   rB   rC   r]   9  s   	 zSuccessfully downloaded %szCreated bundle in %s homepurelib)Ir"   r#   r1   r8   r   
deprecatedr   r!   r	   ospathabspathr   r4   r$   r   r   r   r   tempfilemkdtempexistsisdirr   r5   	index_urlextra_index_urlsno_indexnotifyjoinuse_mirrorsmirrors_build_sessionrN   r   r   r2   r   r%   rQ   r    r)   add_requirementr   	from_liner   from_editablerS   r/   r   has_requirementsrU   rD   dictwarnprepare_filesrY   locate_filesr   r&   r'   successfully_installedsuccessfully_downloadedcreate_bundlebundle_filenamer   cleanup_filesmakedirsr   listdirshutilmovermtree)r=   rM   r>   r4   temp_target_dirr5   rE   rK   rT   build_deleter1   requirement_setrU   filenamer\   optsmsg	installed
downloadedlib_diritemrB   rB   rC   run   s    											+				
											%		"	"
	
				zInstallCommand.run)__name__
__module____qualname____doc__rU   usagesummaryrY   r,   rN   r   rB   rB   )rA   rC   r      s   r   )rb   sysre   r   pip.reqr   r   r   pip.logr   pip.locationsr   r   r   r	   pip.basecommandr
   	pip.indexr   pip.exceptionsr   r   r   pipr   pip.utilr   r   rB   rB   rB   rC   <module>   s   "