← Back
Editing: req_install.cpython-311.pyc
� �/�c�� � � � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z d dlmZm Z mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dl m!Z! d dl"m#Z#m$Z$ d d l%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m6Z: d dl;m<Z= d dl>m?Z@ d dlAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZImJZJ d dlKmLZLmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZV d dlWmXZX d dlYmZZZ d d l[m\Z\m]Z] d d!l^m_Z_ d d"l`maZa ejb ec� � Zd G d#� d$� � Zed%eed&effd'�Zgd(e d)eee d*efd&ehfd+�Zid,eef d)eee d&ehfd-�Zj G d.� d/e� � Zkd(e d)eee d0ekd&dfd1�ZldS )2� N)�Enum)�Values)�Any� Collection�Dict�Iterable�List�Optional�Sequence�Union)�Marker)�Requirement)�SpecifierSet)�canonicalize_name)�Version)�parse)�BuildBackendHookCaller)�BuildEnvironment�NoOpBuildEnvironment)�InstallationError�LegacyInstallFailure)� get_scheme)�BaseDistribution�get_default_environment�get_directory_distribution�get_wheel_distribution)�FilesystemWheel)� DirectUrl)�Link)�generate_metadata)�generate_editable_metadata)�install_editable)�install)� install_wheel)�load_pyproject_toml�make_pyproject_path)�UninstallPathSet)�LegacyInstallReason� deprecated)�direct_url_for_editable�direct_url_from_link)�Hashes)� ConfiguredBuildBackendHookCaller�ask_path_exists� backup_dir�display_path�hide_url�redact_auth_from_url�� safe_extra)�runner_with_spinner_message)� TempDirectory� tempdir_kinds)�running_under_virtualenv)�vcsc ! �z � e Zd ZdZ dHdee deeed f dedee d ee d ee dedeee d eee deeeee f deeeef dede e dededdf d�Zdefd�Zdefd�Zdefd�Zedee fd�� � Z ej � � defd�� � Zedefd�� � Zedefd�� � ZdIdeee defd�Zedefd�� � ZdJd!edefd"�Zdee fd#�Zd$ed%ed&edefd'�Z dKd(�Z!dKd)�Z"d*eddfd+�Z#edefd,�� � Z$edefd-�� � Z%edefd.�� � Z&edefd/�� � Z'edefd0�� � Z(dKd1�Z)dKd2�Z*dKd3�Z+ede,fd4�� � Z-de.fd5�Z/dKd6�Z0 dLd7ed%ed&eddfd8�Z1dKd9�Z2 dLd:ed;edee3 fd<�Z4d=ed>ed?edefd@�Z5d$ee ddfdA�Z6 dMdee d ee7e dBee dCee dDee dEed*edFeddfdG�Z8dS )N�InstallRequirementz� Represents something that may be installed later on, may have information about where to fetch the relevant requirement and also contains logic for installing the said requirement. FN� �req� comes_from�editable�link�markers� use_pep517�isolated�install_options�global_options�hash_options�config_settings� constraint�extras� user_supplied�permit_editable_wheels�returnc �� � |�t |t � � s J |� � �|| _ || _ || _ || _ || _ d | _ d | _ | j rQ|sJ �|j rFt j � t j � |j � � � � | _ |�|r|j rt! |j � � }|x| _ | _ d| _ d | _ d | _ | j r| j j r| j j | _ | r| | _ n,|rd� |j D � � | _ nt/ � � | _ |� |r|j }|| _ d | _ d| _ d | _ d | _ |r|ng | _ | r| ng | _ | r| ni | _ || _! d| _"