OwlCyberSecurity - MANAGER
Edit File: install.cpython-312.pyc
� ���g�r � �r � d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ d dl m Z mZ d dlm Z d dlmZ d dlZd dlmZ d dlmZ d dlmZ d d lmZmZ d d lmZmZ d dlmZm Z d dl!m"Z" d d l#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZB d dlCmDZDmEZE e6eF� ZG G d� de� ZH d.deIdeeJ deeJ deId eeJ d!e eJ fd"�ZKdeeJ deId!eIfd#�ZL d/d$eeI d%eeJ d&eeJ d'eeJ d(eId!eIfd)�ZMd*eNd+eId,eId!eJfd-�ZOy)0� N)� SUPPRESS_HELP�Values)�List�Optional)�canonicalize_name)� print_json)� WheelCache)� cmdoptions)�make_target_python)�RequirementCommand�with_cleanup)�ERROR�SUCCESS)�CommandError�InstallationError)� get_scheme)�get_environment)�InstallationReport)�get_build_tracker)�ConflictDetails�check_install_conflicts)�install_given_reqs)�InstallRequirement�check_legacy_setup_py_options)�WINDOWS��test_writable_dir)� getLogger)�check_externally_managed� ensure_dir�get_pip_version�(protect_pip_from_modification_on_windows�warn_if_run_as_root�write_output)� TempDirectory)�running_under_virtualenv�virtualenv_no_global)�build� should_build_for_install_commandc � � e Zd ZdZdZdd�Zededee de fd�� Zd e d ede ddfd�Zd ee dee fd�Zdede ddfd�Zy)�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> ...�returnNc �� � | j j t j � � | j j t j � � | j j t j � � | j j t j � � | j j t j � � | j j ddddd�� | j j ddd d d d�� t j | j � | j j d ddd�� | j j dddt �� | j j ddd d d�� | j j ddd d d�� | j j t j � � | j j ddddd�� | j j ddddd gd!�"� | j j d#d$dd%�� | j j d&d'd(dd)�� | 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 t j"