File: //usr/lib/python3/dist-packages/pip/_internal/commands/__pycache__/install.cpython-310.pyc
o
@%Ne�l � @ s~ d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm Z m
Z
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d lmZmZ d d
lmZmZ d dlmZ d dl m!Z! d d
l"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z; d dl<m=Z=m>Z> d dl?m@Z@mAZAmBZB e4eC�ZDde#de@fdd�ZEG dd� de�ZF d:d!eGd"eeH d#eeH d$eGd%eeH de
eH fd&d'�ZId#eeH d$eGdeGfd(d)�ZJ d;d*eeG d+eeH d,eeH d-eeH d.eGdeGfd/d0�ZKd1e
e* d2ee
eH ddfd3d4�ZLd5eMd6eGd7eGdeHfd8d9�ZNdS )<� N)�
SUPPRESS_HELP�Values)�Iterable�List�Optional)�canonicalize_name)�
WheelCache)�
cmdoptions)�make_target_python)�RequirementCommand�warn_if_run_as_root�with_cleanup)�ERROR�SUCCESS)�CommandError�InstallationError)�
get_scheme)�get_environment)�
FormatControl)�ConflictDetails�check_install_conflicts)�install_given_reqs)�InstallRequirement)�get_requirement_tracker)�WINDOWS)�parse_distutils_args��test_writable_dir)� getLogger)�
ensure_dir�get_pip_version�(protect_pip_from_modification_on_windows�write_output)�
TempDirectory)�running_under_virtualenv�virtualenv_no_global)�BinaryAllowedPredicate�build� should_build_for_install_command�format_control�returnc s dt dtf� fdd�}|S )N�reqr* c s t | jpd�}� �|�}d|v S )N� �binary)r �name�get_allowed_formats)r+ �canonical_name�allowed_formats�r) � �@/usr/lib/python3/dist-packages/pip/_internal/commands/install.py�check_binary_allowed5 s
z6get_check_binary_allowed.<locals>.check_binary_allowed)r �bool)r) r5 r3 r2 r4 �get_check_binary_allowed4 s r7 c @ s� e Zd ZdZdZddd�Zededee de
fd d
��Zde ded
e
ddfdd�Zdee dee fdd�Zdede ddfdd�ZdS )�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> ...r* Nc C sj | j �t�� � | j �t�� � | j �t�� � | j �t�� � | j �t�� � | j jddddd dd� t�| j � | j jddd d
d� | j jddd
t d� | j jdddd dd� | j jdddd dd� | j �t�
� � | j jdddd dd� | j jdddddgdd� | j jddd d d� | j jd!d"d#d d$d� | j �t�� � | j �t�� � | j �t�
� � | j �t�� � | j �t�� � | j �t�� � | j jd%d d&d'd(d)� | j jd*d
d&d+d,� | j jd-d
d.d'd/d)� | j jd0d
d1d'd2d)� | j �t�� � | j �t�� � | j �t�� � | j �t�� � | j �t�� � t�tj| j�}| j�d3|� | j�d3| j � d S )4Nz-tz--target�
target_dir�dirz�Install 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_truez�Install 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.))r; �actionr>