3
öLÖjqM ã @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZe jeƒZ G dd„ dƒZ
d
dd„Zddd„Zed kr¾d
Z
yeƒ d Z
W n4 ek
r² Z zede ejd� W Y ddZ[X nX eje
ƒ dS )é Nc @ s‚ e Zd Zddd„Zdd„ Zdd„ Zd d
„ Zdd„ Zej d
krDdd„ Z
ddd„Zdd„ Zdd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS ) Ú
EnvBuilderFNc C s( || _ || _|| _|| _|| _|| _d S )N)Úsystem_site_packagesÚclearÚsymlinksÚupgradeÚwith_pipÚprompt)Úselfr r r r r r © r
ú%/usr/lib64/python3.6/venv/__init__.pyÚ__init__+ s zEnvBuilder.__init__c C sx t jj|ƒ}| j|ƒ}| j}d| _| j|ƒ | j|ƒ | jrF| j|ƒ | j s`| j
|ƒ | j|ƒ |rtd| _| j|ƒ d S )NFT)ÚosÚpathÚabspathÚensure_directoriesr Úcreate_configurationÚsetup_pythonr Ú
_setup_pipr Ú
setup_scriptsÚ
post_setup)r Úenv_dirÚcontextZtrue_system_site_packagesr
r
r Úcreate4 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 ÚjoinÚislinkÚisfileÚremoveÚisdirÚshutilZrmtree)r r Úfnr
r
r Úclear_directoryN s zEnvBuilder.clear_directoryc C s² dd„ }t jj|ƒr$| jr$| j|ƒ tjƒ }||_t jj|ƒd |_ | j
d k rT| j
n|j }d| |_
||ƒ t j}tj
dkr�d|kr�t jd }ntj}t jjt jj|ƒƒ\}}||_||_||_tj
dkräd} d }
t jj|d
dƒ}n(d} d
}
t jj|ddtjd d… dƒ}t jj||
ƒ |_}||ƒ ||ƒ tjdk�r|t jdk�r|tj
dk�r|t jj|dƒ}
t jj|
ƒ�s|t jd|
ƒ t jj|| ƒ |_}| |_t jj||ƒ|_||ƒ |S )Nc S s@ t jj| ƒst j| ƒ n$t jj| ƒs0t jj| ƒr