File: //usr/lib/python3.10/venv/__pycache__/__init__.cpython-310.pyc
o
    E�he  �                
   @   s�   d Z ddlZddlZddlZddlZddlZddlZddlZddlZdZ	e�
e�ZG dd� d�Z
		ddd�Zdd	d
�ZedkrldZze�  dZW n eyd Z zed
e ejd� W Y dZ[ndZ[ww e�e� dS dS )z�
Virtual environment (venv) package for Python. Based on PEP 405.
Copyright (C) 2011-2014 Vinay Sajip.
Licensed to the PSF under a contributor agreement.
�    N)�pip�
setuptoolsc                   @   s�   e Zd ZdZ			d"dd�Zdd� Zdd	� Zd
d� Zdd
� Ze	j
dkr)d#dd�Znd#dd�Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zd d!� ZdS )$�
EnvBuildera�  
    This class exists to allow virtual environment creation to be
    customized. The constructor parameters determine the builder's
    behaviour when called upon to create a virtual environment.
    By default, the builder makes the system (global) site-packages dir
    *un*available to the created environment.
    If invoked using the Python -m option, the default is to use copying
    on Windows platforms but symlinks elsewhere. If instantiated some
    other way, the default is to *not* use symlinks.
    :param system_site_packages: If True, the system (global) site-packages
                                 dir is available to created environments.
    :param clear: If True, delete the contents of the environment directory if
                  it already exists, before environment creation.
    :param symlinks: If True, attempt to symlink rather than copy files into
                     virtual environment.
    :param upgrade: If True, upgrade an existing virtual environment.
    :param with_pip: If True, ensure pip is installed in the virtual
                     environment
    :param prompt: Alternative terminal prefix for the environment.
    :param upgrade_deps: Update the base venv modules to the latest on PyPI
    FNc                 C   sF   || _ || _|| _|| _|| _|dkrtj�t�� �}|| _	|| _
d S )N�.)�system_site_packages�clear�symlinks�upgrade�with_pip�os�path�basename�getcwd�prompt�upgrade_deps)�selfr   r   r   r	   r
   r   r   � r   �$/usr/lib/python3.10/venv/__init__.py�__init__/   s   
zEnvBuilder.__init__c                 C   s�   t j�|�}| �|�}| j}d| _| �|� | �|� | jr#| �|� | j	s0| �
|� | �|� |r:d| _| �|� | jrD| �
|� dS dS )z�
        Create a virtual environment in a directory.
        :param env_dir: The target directory to create an environment in.
        FTN)r   r   �abspath�ensure_directoriesr   �create_configuration�setup_pythonr
   �
_setup_pipr	   �
setup_scripts�
post_setupr   �upgrade_dependencies)r   �env_dir�context�true_system_site_packagesr   r   r   �create<