File: //lib64/python3.8/venv/__pycache__/__init__.cpython-38.opt-2.pyc
U
e5dFR ã
@ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZe e¡Z G dd„ dƒZ
d
dd„Zddd„Zed kr¾d
Z
zeƒ d Z
W n4 ek
r² Z zede ejd W 5 dZ[X Y nX e e
¡ dS )é Nc @ s† e Zd Zddd„Zdd„ Zdd„ Zd d
„ Zdd„ Zej d
krHddd„Z
n
ddd„Z
dd„ Zdd„ Zdd„ Z
dd„ 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.8/venv/__init__.pyÚ__init__+ s zEnvBuilder.__init__c C sx t j |¡}| |¡}| j}d| _| |¡ | |¡ | jrF| |¡ | j s`|
|¡ | |¡ |rtd| _| |¡ 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\ t |¡D ]L}t j ||¡}t j |¡s4t j |¡r@t |¡ q
t j |¡r
t |¡ q
d S r )
r Úlistdirr ÚjoinÚislinkÚisfileÚremoveÚisdirÚshutilZrmtree)r r Úfnr r r
Úclear_directoryN s zEnvBuilder.clear_directoryc C sŽ dd„ }t j |¡r$| jr$| |¡ t ¡ }||_t j |¡d |_ | j
d k rT| j
n|j }d| |_
||ƒ tj}t j t j
|¡¡\}}||_||_||_tjdkrÀd}d} t j |dd ¡}
n(d
}d} t j |dd
tjd d… d ¡}
t j || ¡ |_}||ƒ ||
ƒ tjdkrXt jdkrXtjdkrXt j |d¡}t j |¡sXt d|¡ t j ||¡ |_}
||_t j |
|¡|_||
ƒ |S )Nc S s@ t j | ¡st | ¡ n$t j | ¡s0t j | ¡r<td| ƒ‚d S )NzUnable to create directory %r)r r ÚexistsÚmakedirsr r Ú
ValueError)Údr r r
Úcreate_if_needed^ s z7EnvBuilder.ensure_directories.<locals>.create_if_neededé z(%s) Zwin32ZScriptsZIncludeÚLibz
site-packagesÚbinZincludeÚlibzpython%d.%dé l ÚposixÚdarwinÚlib64)r r r$ r r# ÚtypesÚSimpleNamespacer ÚsplitÚenv_namer
ÚsysÚ_base_executabler Ú
executableÚ
python_dirZ
python_exeÚplatformr Úversion_infoZinc_pathÚmaxsizeÚnameÚsymlinkÚbin_pathÚbin_nameÚenv_exe)r r r( r r
r7 ÚdirnameZexenameZbinnameZincpathZlibpathr Z link_pathÚbinpathr r r
r V sL
þÿzEnvBuilder.ensure_directoriesc C s˜ t j |jd¡ |_}t|dddj}| d|j ¡ | jrBd}nd}| d| ¡ | d t j
d d
… ¡ | jd k rŠ| d| j›d¡ W 5 Q R X d S )
Nz
pyvenv.cfgÚwúutf-8)Úencodingz
home = %s
ÚtrueZfalsez"include-system-site-packages = %s
zversion = %d.%d.%d
é z prompt = Ú
)r r r r Zcfg_pathÚopenÚwriter8 r r5 r: r
)r r r ÚfZinclr r r
r Š s
zEnvBuilder.create_configurationÚntc C s~ | j }|sjz6tj |¡s@|r4t tj |¡|¡ nt ||¡ W n& tk
rh t d||¡ d}Y nX |rzt
||¡ d S )NúUnable to symlink %r to %rT)r r r r r= ÚbasenameÚ ExceptionÚloggerÚwarningr! Úcopyfile)r ÚsrcÚdstÚrelative_symlinks_okZ
force_copyr r r
Úsymlink_or_copy s
zEnvBuilder.symlink_or_copyc C s\ t j |¡ot j |¡ }| jr€|s€t j |¡s€z,|rLt t j |¡|¡ nt ||¡ W d S tk
r~ t
d||¡ Y nX t j t j |¡¡\}}t j t j
t¡dd|| ¡}t d¡sÎt j |¡s$| d¡rìd| }|d d… }|dkrúd}n|d krd
}t j t j
|¡|| ¡}n|}t j |¡sL|sHt
d|¡ d S t ||¡ d S )NrM ÚscriptsrL TZ_déþÿÿÿÚpythonZvenvlauncherZpythonwZ
venvwlauncherzUnable to copy %r)r r Úlexistsr$ r r r= rN rO rP rQ Úsplitextr rA Ú__file__Ú sysconfigÚis_python_buildr Úendswithr! rR )r rS rT rU Zbad_srcrN ZextZsrcfnr r r
rV ³ s<