File: //usr/local/lib/python3.9/site-packages/virtualenv/run/__pycache__/__init__.cpython-39.pyc
a
��hT � @ s� d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZmZ d dl
mZ d dlmZ d d lmZ d
dlmZ d
dlmZ d
d
lmZ d
dlmZ d dd�Zd!dd�Zd"dd�Zd#dd�Zdd� Zdd� Z dd� Z!dd� Z"ddgZ#dS )$� )�annotationsN)�partial)�
make_app_data)�VirtualEnvConfigParser)�LEVELS�setup_report)�Session)�manual_upgrade)�__version__� )�ActivationSelector)�CreatorSelector)�get_discover)�SeederSelectorTc C sP |du rt jn|}t| |||�}|� |�� W d � n1 sB0 Y |S )a�
Create a virtual environment given some command line interface arguments.
:param args: the command line arguments
:param options: passing in a ``VirtualEnvOptions`` object allows return of the parsed options
:param setup_logging: ``True`` if setup logging handlers, ``False`` to use handlers already registered
:param env: environment variables to use
:return: the session object of the creation (its structure for now is experimental and might change on short notice)
N)�os�environ�session_via_cli�run)�args�options�
setup_logging�envZ
of_session� r �A/usr/local/lib/python3.9/site-packages/virtualenv/run/__init__.py�cli_run s
&r c sl |du rt jn|}t| � ||�\}}|�| �� |jj� _t� fdd�|D ��\}}}t� j � j
|j|||�S )aq
Create a virtualenv session (same as cli_run, but this does not perform the creation). Use this if you just want to
query what the virtual environment would look like, but not actually create it.
:param args: the command line arguments
:param options: passing in a ``VirtualEnvOptions`` object allows return of the parsed options
:param setup_logging: ``True`` if setup logging handlers, ``False`` to use handlers already registered
:param env: environment variables to use
:return: the session object of the creation (its structure for now is experimental and might change on short notice)
Nc 3 s | ]}|� � �V qd S �N)�create)�.0�e�r r r � <genexpr>4 � z"session_via_cli.<locals>.<genexpr>)r r �build_parser�
parse_args�_interpreter�version_info�
py_version�tupler � verbosity�app_data) r r r r �parser�elementsZcreatorZseederZ
activatorsr r r r % s
�r c C s� t ||d u rtjn|�}t|� |jdddddd� t|| |� t| ||�}t|� t|| �}|j |_
}|d u r�d|� �}t|��t||�t
||�t||�g}|�| �\}} |D ]}
|
�|� q�|�� ||fS )Nz--with-traceback�with_traceback�
store_trueFz>on failure also display the stacktrace internals of virtualenv)�dest�action�default�helpzfailed to find interpreter for )r r r �add_version_flag�add_argument�_do_report_setup�
load_app_data�handle_extra_commandsr �interpreterr$ �RuntimeErrorr
r r �parse_known_argsZhandle_selected_arg_parseZenable_help)r r r r r* Zdiscoverr7 �msgr+ �_�elementr r r r"