<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    YI~dR  ã            
   @   sÂ   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZe  e¡Z	G dd„ dƒZ
ddd„Zddd„Zed	kr¾d
Zyeƒ  d ZW n4 ek
r² Z zede ejd W ddZ[X Y nX e e¡ dS )é    Nc               @   s†   e Zd Zddd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zej	dkrHddd„Z
n
ddd„Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS ) Ú
EnvBuilderFNc             C   s(   || _ || _|| _|| _|| _|| _d S )N)Úsystem_site_packagesÚclearÚsymlinksÚupgradeÚwith_pipÚprompt)Úselfr   r   r   r   r   r   © r
   ú2/opt/alt/python37/lib64/python3.7/venv/__init__.pyÚ__init__+   s    zEnvBuilder.__init__c             C   sx   t j |¡}|  |¡}| j}d| _|  |¡ |  |¡ | jrF|  |¡ | j	s`|  
|¡ |  |¡ |rtd| _|  |¡ d S )NFT)ÚosÚpathÚabspathÚensure_directoriesr   Úcreate_configurationÚsetup_pythonr   Ú
_setup_pipr   Úsetup_scriptsÚ
post_setup)r	   Úenv_dirÚcontextZtrue_system_site_packagesr
   r
   r   Úcreate4   s    





zEnvBuilder.createc             C   s`   xZt  |¡D ]L}t j ||¡}t j |¡s6t j |¡rBt  |¡ qt j |¡rt 	|¡ qW d S )N)
r   Úlistdirr   ÚjoinÚislinkÚisfileÚremoveÚisdirÚshutilZrmtree)r	   r   Úfnr
   r
   r   Úclear_directoryN   s    zEnvBuilder.clear_directoryc             C   sœ  dd„ }t j |¡r$| jr$|  |¡ t ¡ }||_t j |¡d |_	| j
d k	rT| j
n|j	}d| |_
||ƒ t j}ttdtjƒ}t j t j |¡¡\}}||_||_||_tjdkrÎd}	d}
t j |d	d
¡}n(d}	d}
t j |ddtjd d…  d
¡}t j ||
¡ |_}||ƒ ||ƒ tjdkrft jdkrftjdkrft j |d¡}t j |¡sft  d|¡ t j ||	¡ |_}|	|_t j ||¡|_||ƒ |S )Nc             S   s@   t j | ¡st  | ¡ n$t j | ¡s0t j | ¡r<td|  ƒ‚d S )NzUnable 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) Ú_base_executableÚwin32ZScriptsZIncludeÚLibzsite-packagesÚbinZincludeÚlibzpython%d.%dé   l        ÚposixÚdarwinÚlib64)r   r   r"   r   r!   ÚtypesÚSimpleNamespacer   ÚsplitÚenv_namer   ÚenvironÚgetattrÚsysÚ
executabler   Ú
python_dirZ
python_exeÚplatformr   Úversion_infoZinc_pathÚmaxsizeÚnameÚsymlinkÚbin_pathÚbin_nameÚenv_exe)r	   r   r&   r   r   Úenvr8   ÚdirnameZexenameZbinnameZincpathZlibpathr   Z	link_pathÚbinpathr
   r
   r   r   V   sJ    



zEnvBuilder.ensure_directoriesc          	   C   sz   t j |jd¡ |_}t|dddL}| d|j ¡ | jrBd}nd}| d| ¡ | d	t	j
d d
…  ¡ W d Q R X d S )Nz
pyvenv.cfgÚwzutf-8)Úencodingz
home = %s
ÚtrueZfalsez"include-system-site-packages = %s
zversion = %d.%d.%d
é   )r   r   r   r   Zcfg_pathÚopenÚwriter9   r   r7   r;   )r	   r   r   ÚfZinclr
   r
   r   r   ‹   s    	zEnvBuilder.create_configurationÚntc             C   s~   | j  }|sjy6tj |¡s@|r4t tj |¡|¡ nt ||¡ W n& tk
rh   t d||¡ d}Y nX |rzt	 
||¡ d S )Nz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    
zEnvBuilder.symlink_or_copyc             C   sZ  t j |¡ot j |¡ }| jr~|s~t j |¡s~y*|rLt  t j |¡|¡ nt  ||¡ d S  tk
r|   t	 
d||¡ Y nX t j t j |¡¡\}}t j t j t¡dd|| ¡}t d¡sÌt j |¡s"| d¡rêd| }|d d… }|dkrød}n|d	krd
}t j t j |¡|| ¡}n|}t j |¡sJ|sFt	 
d|¡ d S t ||¡ d S )NzUnable to symlink %r to %rÚscriptsrL   TZ_déþÿÿÿÚpythonZvenvlauncherZpythonwZvenvwlauncherzUnable to copy %r)r   r   Úlexistsr"   r   r   r>   rM   rN   rO   rP   Úsplitextr   rC   Ú__file__Ú	sysconfigÚis_python_buildr   Úendswithr   rQ   )r	   rR   rS   rT   Zbad_srcrM   ZextZsrcfnr
   r
   r   rU   ²   s:    


c             C   s®  |j }|j}| j}|j}tjdkrš||j|ƒ tj |¡sFt 	|d¡ xNdD ]F}tj 
||¡}tj |¡sL||j|dd tj |¡sLt 	|d¡ qLW n| jrÎdd„ t |¡D ƒ}t d¡rÚdd„ |D ƒ}nd	d
ddg}x:|D ]2}tj 
||¡}tj |¡rà||tj 
||¡ƒ qàW t d¡rªx†t |j¡D ]v\}	}
}d|kr0tj |	¡}tj 
|jd|¡}tj |¡szt |¡ tj 
|	d¡}tj 
|d¡}t ||¡ P q0W d S )NrL   ií  )rX   Zpython3T)rT   c             S   s,   g | ]$}t j t j |¡d  ¡dkr|‘qS )r'   )z.exez.dll)r   r   ÚnormcaserZ   )Ú.0rK   r
   r
   r   ú
<listcomp>û   s    z+EnvBuilder.setup_python.<locals>.<listcomp>c             S   s"   g | ]}t j |¡ d ¡r|‘qS ))rX   Z	vcruntime)r   r   r_   Ú
startswith)r`   rK   r
   r
   r   ra      s    z
python.exezpython_d.exezpythonw.exezpythonw_d.exezinit.tclr*   )r?   rA   rU   r9   r   r=   r8   r   r   Úchmodr   r"   r   r   r\   r]   rY   ÚwalkrM   r   r#   r   rQ   )r	   r   rD   r   ZcopierrC   ÚsuffixÚsuffixesrR   ÚrootÚdirsÚfilesZtcldirrS   r
   r
   r   r   Ý   sF    





zEnvBuilder.setup_pythonc             C   s$   |j ddddg}tj|tjd d S )Nz-ImZ	ensurepipz	--upgradez--default-pip)Ústderr)rA   Ú
subprocessZcheck_outputZSTDOUT)r	   r   Úcmdr
   r
   r   r     s    
zEnvBuilder._setup_pipc             C   s2   t j t j t¡¡}t j |d¡}|  ||¡ d S )NrV   )r   r   r   rC   r[   r   Úinstall_scripts)r	   r   r   r
   r
   r   r   "  s    zEnvBuilder.setup_scriptsc             C   s   d S )Nr
   )r	   r   r
   r
   r   r   1  s    zEnvBuilder.post_setupc             C   sJ   |  d|j¡}|  d|j¡}|  d|j¡}|  d|j¡}|  d|j¡}|S )NZ__VENV_DIR__Z__VENV_NAME__Z__VENV_PROMPT__Z__VENV_BIN_NAME__Z__VENV_PYTHON__)Úreplacer   r4   r   r@   rA   )r	   Útextr   r
   r
   r   Úreplace_variables;  s    zEnvBuilder.replace_variablesc             C   s¾  |j }t|ƒ}x¨t |¡D ]˜\}}}||kr`x,|d d … D ]}|dtjfkr>| |¡ q>W qxR|D ]H}	tjdkrŽ|	 d¡rŽ|	 d¡rŽqhtj 	||	¡}
||d …  
tj¡dd … }|sÂ|}ntjj	|f|žŽ }tj |¡sêt |¡ tj 	||	¡}t|
dƒ}	|	 ¡ }W d Q R X |
 d¡s~y$| d¡}|  ||¡}| d¡}W n6 tk
r| } zd }t d|
|¡ W d d }~X Y nX |d k	rht|d	ƒ}	|	 |¡ W d Q R X t |
|¡ qhW qW d S )
NÚcommonrL   rX   )z.exez.pdbr-   Úrbzutf-8z+unable to copy script %r, may be binary: %sÚwb)r?   Úlenr   rd   r=   r   rb   r^   r   r   r3   Úsepr"   r#   rI   ÚreadÚdecoderp   ÚencodeÚUnicodeErrorrO   rP   rJ   r   Zcopymode)r	   r   r   rD   Zplenrg   rh   ri   r%   rK   Zsrcfilere   ZdstdirZdstfileÚdataÚer
   r
   r   rm   M  sF    


zEnvBuilder.install_scripts)FFFFFN)F)F)Ú__name__Ú
__module__Ú__qualname__r   r   r!   r   r   r   r=   rU   r   r   r   r   rp   rm   r
   r
   r
   r   r      s    
5

+<	
r   Fc             C   s    t |||||d}| | ¡ d S )N)r   r   r   r   r   )r   r   )r   r   r   r   r   r   Úbuilderr
   r
   r   r   €  s    r   c       	      C   sb  d}t jdk rd}ntt dƒs"d}|s2tdƒ‚n,dd l}|jtddd	}|jd
dddd |jdddddd tj	dkr€d}nd}| 
¡ }|jd|dddd |jd| dddd |jdddddd |jddddd d |jd!d"ddd#d$ |jd%d&d' | | ¡}|jr"|jr"td(ƒ‚t|j|j|j|j|j|jd)}x|jD ]}| |¡ qJW d S )*NT)rH   rH   FÚbase_prefixz.This script is only for use with Python >= 3.3r   zFCreates virtual Python environments in one or more target directories.z|Once an environment has been created, you may wish to activate it, e.g. by sourcing an activate script in its bin directory.)ÚprogÚdescriptionÚepilogrh   ZENV_DIRú+z)A directory to create the environment in.)ÚmetavarÚnargsÚhelpz--system-site-packagesÚ
store_trueÚsystem_sitezDGive the virtual environment access to the system site-packages dir.)ÚdefaultÚactionÚdestr‡   rL   z
--symlinksr   z[Try to use symlinks rather than copies, when symlinks are not the default for the platform.z--copiesÚstore_falsez\Try to use copies rather than symlinks, even when symlinks are the default for the platform.z--clearr   zcDelete the contents of the environment directory if it already exists, before environment creation.z	--upgrader   zlUpgrade the environment directory to use this version of Python, assuming Python has been upgraded in-place.z--without-pipr   z]Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default))rŒ   rŠ   r‹   r‡   z--promptz;Provides an alternative prompt prefix for this environment.)r‡   z1you cannot supply --upgrade and --clear together.)r   r   r   r   r   r   )r7   r;   Úhasattrr$   ÚargparseÚArgumentParserr|   Úadd_argumentr   r=   Úadd_mutually_exclusive_groupÚ
parse_argsr   r   r   r‰   r   r   r   rh   r   )	ÚargsZ
compatibler   ÚparserZuse_symlinksÚgroupÚoptionsr   r%   r
   r
   r   Úmainˆ  s\    










r˜   Ú__main__r'   z	Error: %s)Úfile)FFFFN)N)Zloggingr   r   rk   r7   r\   r1   Z	getLoggerr|   rO   r   r   r˜   ZrcrN   r{   Úprintrj   Úexitr
   r
   r
   r   Ú<module>   s*   
  p 

H$