<!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>
3
Re7p                 @   s  d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZmZ d dlmZmZ d dlm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z; e6rd dl
m<Z< d dl=m>Z>m?Z?m@Z@ d dlAmBZB d dl!mCZC d dlDmEZE d dl9mFZF ejGeHZIdd  ZJG d!d" d"eZKd.d$d%ZLd&d' ZMd/d(d)ZNd*d+ ZOd,d- ZPdS )0    )absolute_importN)path)SUPPRESS_HELP)pkg_resources)canonicalize_name)
WheelCache)
cmdoptions)make_target_python)RequirementCommandwith_cleanup)ERRORSUCCESS)CommandErrorInstallationError)distutils_scheme)check_install_conflicts)install_given_reqs)get_requirement_tracker)today_is_later_than)parse_distutils_args)test_writable_dir)
ensure_dirget_installed_versionget_pip_version(protect_pip_from_modification_on_windowswrite_output)TempDirectory)MYPY_CHECK_RUNNING)virtualenv_no_global)build should_build_for_install_command)Values)IterableListOptional)FormatControl)ConflictDetails)InstallRequirement)BinaryAllowedPredicatec                s    fdd}|S )Nc                s&   | j r
dS t| j} j|}d|kS )NTbinary)
use_pep517r   nameget_allowed_formats)reqcanonical_nameallowed_formats)format_control /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/commands/install.pycheck_binary_allowed8   s
    

z6get_check_binary_allowed.<locals>.check_binary_allowedr1   )r0   r3   r1   )r0   r2   get_check_binary_allowed6   s    r4   c               @   s@   e Zd ZdZdZdd Zedd Zdd Zd	d
 Z	dd Z
d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.
    a%  
      %prog [options] <requirement specifier> [package-index-options] ...
      %prog [options] -r <requirements file> [package-index-options] ...
      %prog [options] [-e] <vcs project url> ...
      %prog [options] [-e] <local project path> ...
      %prog [options] <archive url/path> ...c             C   sz  | j jtj  | j jtj  | j jtj  | j jtj  | j jtj  | j jddddd dd tj| j  | j jddd	d
d | j jdddt	d | j jdddd dd | j jdddd dd | j jtj
  | j jtj  | j jdddd	dd | j jdddddgdd | j jddd	d d | j jd!d"d#d	d$d | j jtj  | j jtj  | j jtj  | j jtj  | j jtj  | j jtj  | j jd%d	d&d'd(d) | j jd*dd&d+d, | j jd-dd.d'd/d) | j jd0dd1d'd2d) | j jtj  | j jtj  | j jtj  | j jtj  | j jtj  tjtj| j}| jjd3| | jjd3| j  d S )4Nz-tz--target
target_dirdirzInstall packages into <dir>. By default this will not replace existing files/folders in <dir>. Use --upgrade to replace existing packages in <dir> with new versions.)destmetavardefaulthelpz--useruse_user_site
store_truezInstall to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.))r8   actionr;   z	--no-userstore_falsez--root	root_pathz=Install everything relative to this alternate root directory.z--prefixprefix_pathzIInstallation prefix where lib, bin and other top-level folders are placedz-Uz	--upgradeupgradezUpgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.z--upgrade-strategyupgrade_strategyzonly-if-neededeageraG  Determines how dependency upgrading should be handled [default: %default]. "eager" - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). "only-if-needed" -  are upgraded only when they do not satisfy the requirements of the upgraded package(s).)r8   r:   choicesr;   z--force-reinstallforce_reinstallz;Reinstall all packages even if they are already up-to-date.z-Iz--ignore-installedignore_installedzIgnore the installed packages, overwriting them. This can break your system if the existing package is of a different version or was installed with a different package manager!z	--compilecompileTz'Compile Python source files to bytecode)r>   r8   r:   r;   z--no-compilez.Do not compile Python source files to bytecode)r>   r8   r;   z--no-warn-script-locationwarn_script_locationz0Do not warn when installing scripts outside PATHz--no-warn-conflictswarn_about_conflictsz%Do not warn about broken dependenciesr   )cmd_opts
add_optionr   requirementsconstraintsno_depspreeditableadd_target_python_optionsr   	build_dirsrcignore_requires_pythonno_build_isolationr*   no_use_pep517install_optionsglobal_options	no_binaryonly_binaryprefer_binaryrequire_hashesprogress_barmake_option_groupindex_groupparserinsert_option_group)self
index_optsr1   r1   r2   add_optionsW   s    	zInstallCommand.add_optionsc       +         s  |j r|jd k	rtdtj| dd }tj dkr||  r||j r|tj	t
jd }|dkrntj	t
jd }tjd|  d}|jr|j}tj|d	d
 |jpg }tjdt  t|j |j|j|j|jd|_ d }d }|jr:d	|_tjj|j|_tjj|jr tjj|j r tdtdd}|j}| j| |jpDg }	| j|}
t |}| j!||
||j"d}|j#px|j$ }t%|j&|j'}| jt( }t|j$|dd	d}yf| j)||||
}t*||j | j+||||
||j d}| j,|||||j |j|j"|j-||j.d
}| j/| |j0||j d}y|j1d}W n t2k
rL   d}Y nX |j3d k}t4|d t5|j'  fdd|j6j7 D }t8||g g d\}}dd |D }|rt9dj:dj;|x|D ]}|j.sd|_<qW |j=|}d }|j> o|j?}|r| j@|}|jA}|jrd}tB|||	|j||j||j |jCd 	} tD|j ||j|j|jd!}!tEjF|!}"| jGtHjId"d# g }#xZ| D ]R}$|$jJ}%y$tK|$jJ|"d$}&|&r|%d%|& 7 }%W n tLk
r   Y nX |#jM|% qW |d k	r| jN|d&|jOkd' d(j;|#}'|'rtPd)|' W nH tQk
rX }( z*| jRd*k})tS|(|)|j }*tjT|*|)d+ tUS d }(~(X nX |jr~|sltV| jW|j||j tXS ),Nz'Can not combine '--user' and '--target'c               S   s    t tdpt tdotjtjkS )Nreal_prefixbase_prefix)hasattrsysrg   prefixr1   r1   r1   r2   is_venv   s    

z#InstallCommand.run.<locals>.is_venvr   z__main__.pyz -m pipzgRunning pip install with root privileges is generally not a good idea. Try `%s install --user` instead.zto-satisfy-onlyT)check_targetzUsing %s)rA   r6   r@   isolated_modez=Target path exists but is not a directory, will not continue.target)kind)optionssessiontarget_pythonrU   install)deletero   globally_managed)temp_build_dirrp   req_trackerrq   finderr<   )
preparerrx   rp   wheel_cacher<   rG   rU   rF   rC   r*   )check_supported_wheelspipF)modifying_pipc                s   g | ]}t | r|qS r1   )r    ).0r)r3   r1   r2   
<listcomp>k  s    z&InstallCommand.run.<locals>.<listcomp>)rz   build_optionsrY   c             S   s   g | ]}|j r|jqS r1   )r*   r+   )r~   r   r1   r1   r2   r   {  s   zPCould not build wheels for {} which use PEP 517 and cannot be installed directlyz, i   )roothomerj   rI   r<   	pycompile)userr   r   rj   isolatedr+   )key)working_set-z2020-resolver)new_resolver zSuccessfully installed %s   )exc_info)Yr<   r6   r   r   check_install_build_globalosgetuidr@   r   basenameri   argv
executableloggerwarningrB   rC   check_dist_restrictionrX   debugr   decide_user_installrA   rm   rG   abspathexistsisdirr   enter_contextrY   get_default_sessionr	   _build_package_finderrU   no_cleanrS   r   	cache_dirr0   r   get_requirements'reject_location_related_install_optionsmake_requirement_preparermake_resolverrF   r*   trace_basic_inforesolveget_requirementKeyErrorsatisfied_byr   r4   rM   valuesr   r   formatjoinlegacy_install_reasonget_installation_orderignore_dependenciesrJ   _determine_conflictsrI   r   rH   get_lib_location_guessesr   
WorkingSetsortoperator
attrgetterr+   r   	Exceptionappend_warn_about_conflictsfeatures_enabledr   EnvironmentError	verbositycreate_env_error_messageerrorr   AssertionError_handle_target_dirr   )+rc   rp   argsrk   commandrC   rX   target_temp_dirtarget_temp_dir_pathrY   rq   rr   rx   build_deleterz   rw   	directoryreqsry   resolverrequirement_setpip_reqr}   reqs_to_build_build_failurespep517_build_failure_namesr   
to_install	conflictsshould_warn_about_conflictsrI   	installedlib_locationsr   itemsresultiteminstalled_versioninstalled_descr   show_tracebackmessager1   )r3   r2   run   s<   






















zInstallCommand.runc                s\  t | g }td|jd}|d }|d }|d }tjj|rH|j| tjj|rf||krf|j| tjj|r||j| x|D ]}	xtj|	D ]}
|	|krtjj||
 t fdd|d d D rqtjj||
}tjj|r:|st	j
d	| qtjj|rt	j
d
| qtjj|r0tj| n
tj| tjtjj|	|
| qW qW d S )N )r   purelibplatlibdatac             3   s   | ]}|j  V  qd S )N)
startswith)r~   s)ddirr1   r2   	<genexpr>  s    z4InstallCommand._handle_target_dir.<locals>.<genexpr>r   zKTarget directory %s already exists. Specify --upgrade to force replacement.zTarget directory %s already exists and is a link. pip will not automatically replace links, please remove if replacement is desired.)r   r   r   r   r   r   listdirr   anyr   r   islinkr   shutilrmtreeremovemove)rc   r6   r   rB   lib_dir_listschemepurelib_dirplatlib_dirdata_dirlib_dirr   target_item_dirr1   )r   r2   r     sH    




z!InstallCommand._handle_target_dirc             C   s,   yt |S  tk
r&   tjd d S X d S )NzwError while checking for conflicts. Please file an issue on pip's issue tracker: https://github.com/pypa/pip/issues/new)r   r   r   	exception)rc   r   r1   r1   r2   r     s    z#InstallCommand._determine_conflictsc          	   C   s  |\}\}}| r| rd S g }|s:|j d |j d n,tddddsf|j d d}|j d	j| xH|D ]@}|| d
 }	x.|| D ]"}
dj||	|
d d}|j | qW qlW xN|D ]F}|| d
 }	x4|| D ](\}}}dj||	|||d}|j | qW qW tjdj| d S )NzAfter October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
z|We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
i        )yearmonthdayzPip will install or upgrade your package(s) and its dependencies without taking into account other packages you already have installed. This may cause an uncaught dependency conflict.
z#https://forms.gle/cWKMoDs8sUVE29hz9zXIf you would like pip to take your other packages into account, please tell us here: {}
r   z@{name} {version} requires {requirement}, which is not installed.r   )r+   versionrequirementzh{name} {version} requires {requirement}, but you'll have {dep_name} {dep_version} which is incompatible.)r+   r   r   dep_namedep_version
)r   r   r   r   criticalr   )rc   conflict_detailsr   package_setmissingconflictingparts	form_linkproject_namer   
dependencyr   r   r   r-   r1   r1   r2   r   #  sF    

z$InstallCommand._warn_about_conflictsN)__name__
__module____qualname____doc__usagere   r   r   r   r   r   r1   r1   r1   r2   r5   C   s     z8r5   Fc             C   s$   t d| ||||d}|d |d gS )Nr   )r   r   r   r   rj   r   r   )r   )r   r   r   r   rj   r   r1   r1   r2   r   c  s    

r   c             C   s   t dd tt| |dD S )Nc             s   s   | ]}t |V  qd S )N)r   )r~   dr1   r1   r2   r   s  s    z)site_packages_writable.<locals>.<genexpr>)r   r   )allsetr   )r   r   r1   r1   r2   site_packages_writablep  s    r  c             C   s   | dk	r|  rt jd dS | rH|r,tdt r:tdt jd dS | dksTt|s\|rjt jd dS tjs~t jd	 dS t||d
rt jd dS t j	d dS )aZ  Determine whether to do a user install based on the input options.

    If use_user_site is False, no additional checks are done.
    If use_user_site is True, it is checked for compatibility with other
    options.
    If use_user_site is None, the default behaviour depends on the environment,
    which is provided by the other arguments.
    Nz$Non-user install by explicit requestFzVCan not combine '--user' and '--prefix' as they imply different installation locationszZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.z User install by explicit requestTz3Non-user install due to --prefix or --target optionz4Non-user install because user site-packages disabled)r   r   z0Non-user install because site-packages writeablezMDefaulting to user installation because normal site-packages is not writeable)
r   r   r   r   r   r   siteENABLE_USER_SITEr  info)r<   rA   r6   r@   rm   r1   r1   r2   r   x  s0    





r   c             C   s   dd }g }x8| D ]0}|j }t|}|r|jdj||j | qW |rnt|}|rn|jdj||j  |svdS tdjdj|dS )zIf any location-changing --install-option arguments were passed for
    requirements or on the command-line, then show a deprecation warning.
    c             S   s   dd | D S )Nc             S   s   g | ]}d j |jddqS )z--{}r   r   )r   replace)r~   r+   r1   r1   r2   r     s    zSreject_location_related_install_options.<locals>.format_options.<locals>.<listcomp>r1   )option_namesr1   r1   r2   format_options  s    z?reject_location_related_install_options.<locals>.format_optionsz{!r} from {}z{!r} from command lineNzLocation-changing options found in --install-option: {}. This is unsupported, use pip-level options like --user, --prefix, --root, and --target instead.z; )rX   r   r   r   keysr   r   )rM   rp   r  	offendersr   rX   location_optionsr1   r1   r2   r     s(    
r   c             C   s   g }|j d |s,|j d |j t|  n
|j d |d  d7  < | jtjkrd}d}|st|j|d|j g n
|j | |j d	 d
j|j d S )z{Format an error message for an EnvironmentError

    It may occur anytime during the execution of the install command.
    z5Could not install packages due to an EnvironmentErrorz: .r   r   z"Consider using the `--user` optionzCheck the permissionsz or z.
r   r   )r   strerrnoEACCESextendlowerr   strip)r   r   using_user_siter  user_option_partpermissions_partr1   r1   r2   r     s"    




r   )FNNFN)NNNF)Q
__future__r   r  loggingr   r   r   r  ri   r   optparser   pip._vendorr   Zpip._vendor.packaging.utilsr   pip._internal.cacher   Zpip._internal.clir   Zpip._internal.cli.cmdoptionsr	   pip._internal.cli.req_commandr
   r   pip._internal.cli.status_codesr   r   pip._internal.exceptionsr   r   pip._internal.locationsr   pip._internal.operations.checkr   Zpip._internal.reqr   pip._internal.req.req_trackerr   pip._internal.utils.datetimer   "pip._internal.utils.distutils_argsr   pip._internal.utils.filesystemr   pip._internal.utils.miscr   r   r   r   r   pip._internal.utils.temp_dirr   pip._internal.utils.typingr   pip._internal.utils.virtualenvr   pip._internal.wheel_builderr   r    r!   typingr"   r#   r$   #pip._internal.models.format_controlr%   r&   Zpip._internal.req.req_installr'   r(   	getLoggerr  r   r4   r5   r   r  r   r   r   r1   r1   r1   r2   <module>   sn   
    %    

   
7*