Viewing File: /opt/alt/python35/lib64/python3.5/venv/__pycache__/__init__.cpython-35.opt-2.pyc



]2N@sddlZddlZddlZddlZddlZddlZejeZGdddZ	ddddddZ
dddZed	krd
ZyedZWn<e
k
rZzededejWYddZ[XnXejedS)
Nc@seZdZdddddddZddZddZdd	Zd
dZej	dkrrd
dZ
dddZddZddZ
ddZddZddZddZdS)
EnvBuilderFcCs1||_||_||_||_||_dS)N)system_site_packagesclearsymlinksupgradewith_pip)selfrrrrrr	-/opt/alt/python35/lib64/python3.5/__init__.py__init__?s
				zEnvBuilder.__init__cCstjj|}|j|}|j}d|_|j||j||jrc|j||j	s|j
||j||rd|_|j|dS)NFT)ospathabspathensure_directoriesrcreate_configurationsetup_pythonr
_setup_pipr
setup_scripts
post_setup)renv_dircontextZtrue_system_site_packagesr	r	r
createGs		

	
	

	zEnvBuilder.createcCsxtj|D]n}tjj||}tjj|sOtjj|r_tj|qtjj|rtj	|qWdS)N)
rlistdirr
joinislinkisfileremoveisdirshutilrmtree)rr
fnr	r	r
clear_directoryas$zEnvBuilder.clear_directorycCsEdd}tjj|r4|jr4|j|tj}||_tjj|d|_	d|j	|_
||tj}tj
dkrd|krtjd}n	tj}tjjtjj|\}}||_||_||_tj
dkr.d}d	}	tjj|d
d}
n8d}d
}	tjj|ddtjddd}
tjj||	|_}||||
tjdkrtjdkrtj
dkrtjj|d}tjj|stjd|tjj|||_}
||_tjj|
||_||
|S)NcSsZtjj|s"tj|n4tjj|sFtjj|rVtd|dS)NzUnable to create directory %r)rr
existsmakedirsrr
ValueError)dr	r	r
create_if_neededqs$z7EnvBuilder.ensure_directories.<locals>.create_if_neededz(%s) darwin__PYVENV_LAUNCHER__win32ZScriptsZIncludeLibz
site-packagesbinincludelibzpython%d.%d posixlib64l)rr
r"rr!typesSimpleNamespacersplitenv_namepromptenvironsysplatform
executabler
python_dirZ
python_exerversion_infoZinc_pathmaxsizenamesymlinkbin_pathbin_nameenv_exe)rrr&renvr;dirnameZexenameZbinnameZincpathZlibpathr
Z	link_pathbinpathr	r	r
risL
	
		$				

	
zEnvBuilder.ensure_directoriescCstjj|jd|_}t|dddb}|jd|j|jr]d}nd}|jd||jd	t	j
dd
WdQRXdS)Nz
pyvenv.cfgwencodingzutf-8z
home = %s
truefalsez"include-system-site-packages = %s
zversion = %d.%d.%d
)rr
rrZcfg_pathopenwriter<rr9r=)rrr
fZinclr	r	r
rs			zEnvBuilder.create_configurationntcCs:|jdrd}n|jdo3|jd}|S)N.pyd.dllTpythonz.exe)rPrQ)endswith
startswith)rrNresultr	r	r
include_binarys	zEnvBuilder.include_binarycCs|j}|syKtjj|sZ|rJtjtjj||ntj||Wn+tk
rtjd||d}YnX|rt	j
||dS)NzUnable to symlink %r to %rT)rrr
rr@basename	Exceptionloggerwarningrcopyfile)rsrcdstrelative_symlinks_okZ
force_copyr	r	r
symlink_or_copys

zEnvBuilder.symlink_or_copycs|j}|j}|j}||j||j}tjdkrtjj|setj	|dxBd
D]e}tjj
||}tjj|sl||j|ddtjj|sltj	|dqlWnd}|jfdd	tj
|D}xT|D]L}	tjj
||	}
tjj
||	}||jkr||
|qWtjj
||}tjj|rfd
d	tj
|D}xE|D]=}	tjj
||	}
tjj
||	}||
|qWxtj|jD]\}}
}d|krtjj|}tjj
|jd|}tjj|sktj|tjj
|d}
tjj
|d}tj|
|PqWdS)NrOirRpython3r^TZDLLscs"g|]}|r|qSr	r	).0rN)r-r	r

<listcomp>s	z+EnvBuilder.setup_python.<locals>.<listcomp>cs"g|]}|r|qSr	r	)rarN)r-r	r
rbs	zinit.tclr+)rRr`)rArCr_r;r<rr?r
rchmodrr"rVrrwalkrWrr#rr[)rrrFr
copierrEsuffixZsubdirfilesrNr\r]rootdirsZtcldirr	)r-r
rsN				
	"
"
"
zEnvBuilder.setup_pythoncCs2|jddddg}tj|dtjdS)Nz-ImZ	ensurepipz	--upgradez
--default-pipstderr)rC
subprocesscheck_outputSTDOUT)rrcmdr	r	r
rs	zEnvBuilder._setup_pipcCsGtjjtjjt}tjj|d}|j||dS)Nscripts)rr
rrE__file__rinstall_scripts)rrr
r	r	r
r
szEnvBuilder.setup_scriptscCsdS)Nr	)rrr	r	r
rszEnvBuilder.post_setupcCsm|jd|j}|jd|j}|jd|j}|jd|j}|jd|j}|S)NZ__VENV_DIR__Z
__VENV_NAME__Z__VENV_PROMPT__Z__VENV_BIN_NAME__Z__VENV_PYTHON__)replacerr6r7rBrC)rtextrr	r	r
replace_variables#szEnvBuilder.replace_variablesc!Cs|j}t|}xtj|D]\}}}||krx:|ddD](}|dtjfkrQ|j|qQWq%x|D]}	tjj||	}
||djtj	dd}|s|}ntjj||}tjj
|stj|tjj||	}
t|
d}	|	j
}WdQRX|
jdsy4|jd}|j||}|jd}Wn>tk
r}zd}tjd|
|WYdd}~XnX|dk	rt|
d}	|	j|WdQRXtj|
|
qWq%WdS)Ncommonr/rbz.exezutf-8z+unable to copy script %r, may be binary: %swb)rAlenrrdr?rr
rr5sepr"r#rLreadrSdecodertencodeUnicodeErrorrYrZrMrcopymode)rrr
rFZplenrhrirgr%rNZsrcfilerfZdstdirZdstfiledataer	r	r
rq5s@
	
&	
	zEnvBuilder.install_scriptsN)__name__
__module____qualname__rrr!rrrr?rVr_rrrrrtrqr	r	r	r
r's73	
rFc	Cs2td|d|d|d|}|j|dS)Nrrrr)rr)rrrrrbuilderr	r	r
resrc	Cs"d}tjd,krd}nttds3d}|sHtdnddl}|jdtdd	d
d}|jdd
ddddd|jdddddddddtj	dkrd}nd}|j
}|jdd|dddddd|jdd|dddddd |jd!dddddd"dd#|jd$dddddd%dd&|jd'dd(dddddd)|j|}|jr|j
rtd*td+|jd"|j
d|jd%|jd(|j}x|jD]}|j|qWdS)-NTrKFbase_prefixz.This script is only for use with Python >= 3.3rprogdescriptionzFCreates virtual Python environments in one or more target directories.epilogz|Once an environment has been created, you may wish to activate it, e.g. by sourcing an activate script in its bin directory.rimetavarZENV_DIRnargs+helpz)A directory to create the environment in.z--system-site-packagesdefaultaction
store_truedestsystem_sitezDGive the virtual environment access to the system site-packages dir.rOz
--symlinksrz[Try to use symlinks rather than copies, when symlinks are not the default for the platform.z--copiesstore_falsez\Try to use copies rather than symlinks, even when symlinks are the default for the platform.z--clearrzcDelete the contents of the environment directory if it already exists, before environment creation.z	--upgraderzlUpgrade the environment directory to use this version of Python, assuming Python has been upgraded in-place.z
--without-piprz]Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default)z1you cannot supply --upgrade and --clear together.r)rKrK)r9r=hasattrr$argparseArgumentParserradd_argumentrr?add_mutually_exclusive_group
parse_argsrrrrrrrir)	argsZ
compatiblerparserZuse_symlinksgroupoptionsrr%r	r	r
main|sV			

			r__main__r'z	Error: %sfile)loggingrrrkr9r3	getLoggerrrYrrrrcrXrprintrjexitr	r	r	r
<module>s&?D
*
Back to Directory File Manager