File: //lib64/python3.6/venv/__pycache__/__init__.cpython-36.opt-1.pyc
3
\H @ s d Z ddlZddlZddlZddlZddlZddlZejeZ G dd dZ
dddZddd Zed
krdZ
ye dZ
W n4 ek
r Z zede ejd
W Y ddZ[X nX eje
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.
Nc @ s e Zd ZdZdddZdd Zdd Zd
d Zdd
Ze j
dkrHdd Zd ddZdd Z
dd Zdd Zdd Zdd Zdd 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.
FNc C s( || _ || _|| _|| _|| _|| _d S )N)system_site_packagesclearsymlinksupgradewith_pipprompt)selfr r r r r r r
/usr/lib64/python3.6/__init__.py__init__* s zEnvBuilder.__init__c C sx t jj|}| j|}| j}d| _| j| | j| | jrF| j| | j s`| j
| | j| |rtd| _| j| dS )z
Create a virtual environment in a directory.
:param env_dir: The target directory to create an environment in.
FTN)ospathabspathensure_directoriesr create_configurationsetup_pythonr
_setup_pipr
setup_scripts
post_setup)r env_dircontextZtrue_system_site_packagesr
r
r create3 s
zEnvBuilder.createc C s` xZt j|D ]L}t jj||}t jj|s6t jj|rBt j| qt jj|rtj | qW d S )N)
r
listdirr joinislinkisfileremoveisdirshutilZrmtree)r r fnr
r
r clear_directoryM s zEnvBuilder.clear_directoryc C s dd }t jj|r$| jr$| j| tj }||_t jj|d |_ | j
dk rT| j
n|j }d| |_
|| t j}tj
dkrd|krt jd }ntj}t jjt jj|\}}||_||_||_tj
dkrd } d
}
t jj|dd}n(d
} d}
t jj|ddtjdd d}t jj||
|_}|| || tjdkr|t jdkr|tj
dkr|t jj|d}
t jj|
s|t jd|
t jj|| |_}| |_t jj|||_|| |S )z
Create the directories for the environment.
Returns a context object which holds paths in the environment,
for use by subsequent logic.
c S s@ t jj| st j| n$t jj| s0t jj| r<td| d S )NzUnable to create directory %r)r
r existsmakedirsr r
ValueError)dr
r
r create_if_needed] s z7EnvBuilder.ensure_directories.<locals>.create_if_needed Nz(%s) darwin__PYVENV_LAUNCHER__Zwin32ZScriptsZIncludeLibz
site-packagesbinincludelibzpython%d.%d posixlib64l )r
r r"