%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/current/usr/lib/python3.5/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/current/usr/lib/python3.5/__pycache__/sysconfig.cpython-35.pyc



|�gJ`�@s�dZddlZddlZddlmZmZdddddd	d
ddd
dgZdddddddddddddddddid dd!dd"dd"dd"dd#dd#ddddid$dd%dd&dd'dd'dd(dd(dd)ddid*dd+dd+dd,dd,dd-dd.dd/id0dd1dd1dd2dd2dd3dd4dd/id5dd6dd6dd7dd7dd8dd4dd/iiZdkZej	j
�dZej	dd9�Zeded:Z
ejjej�Zejjej�Zejjej�Zejjej�ZdadZd;d<�Zejrdejjeej��Zneej��Zejd$kr�ej �j!dl�r�eejj"eee��Zd?ej#kr�eej#d?�Zd@dA�Z$e%edBd�Z&e&r@ejd$kr@e&j �j!dm�r@ejjejje&��Z&dCdDdE�Z'e'dF�Z(e(r�x*dnD]"Z)dGee)d<dHee)d<qhWdIdJ�Z*dKdL�Z+dMdN�Z,dOdP�Z-dQdR�Z.ddSdT�Z/dUd�Z0dVdW�Z1dXdY�Z2dZd[�Z3dd\d�Z4d]d�Z5d^d
�Z6d_d	�Z7e-�ddFd`d
�Z8e-�ddFdad�Z9dbd�Z:dcd�Z;ddd�Z<ded�Z=dfdg�Z>dhdi�Z?e@djkr�e?�dS)oz-Access to Python's configuration information.�N)�pardir�realpath�get_config_h_filename�get_config_var�get_config_vars�get_makefile_filename�get_path�get_path_names�	get_paths�get_platform�get_python_version�get_scheme_names�parse_config_h�posix_prefix�stdlibz-{installed_base}/lib/python{py_version_short}�
platstdlibz'{platbase}/lib/python{py_version_short}�purelibz1{base}/lib/python{py_version_short}/site-packages�platlibz5{platbase}/lib/python{py_version_short}/site-packages�includez;{installed_base}/include/python{py_version_short}{abiflags}�platincludez?{installed_platbase}/include/python{py_version_short}{abiflags}�scriptsz
{base}/bin�dataz{base}�
posix_homez{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/python�ntz{installed_base}/Libz
{base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/ScriptsZnt_userz#{userbase}/Python{py_version_nodot}z1{userbase}/Python{py_version_nodot}/site-packagesz+{userbase}/Python{py_version_nodot}/Includez+{userbase}/Python{py_version_nodot}/Scriptsz
{userbase}Z
posix_userz'{userbase}/lib/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binZosx_framework_userz{userbase}/lib/pythonz#{userbase}/lib/python/site-packagesz{userbase}/include��cCs+yt|�SWntk
r&|SYnXdS)N)r�OSError)�path�r�/usr/lib/python3.5/sysconfig.py�_safe_realpathcs
r �\pcbuild\win32�\pcbuild\amd64Z_PYTHON_PROJECT_BASEcCs=x6dD].}tjjtjj|d|��rdSqWdS)N�
Setup.dist�Setup.localZModulesTF)r#r$)�osr�isfile�join)�d�fnrrr�_is_python_source_dirxs
$r*Z_homeFcCs |rtrtt�Stt�S)N)�	_sys_homer*�
_PROJECT_BASE)Z
check_homerrr�is_python_build�s
r-Tz{srcdir}/Includez{projectbase}/.cCsvy|j|�SWn^tk
rqy|jtj�SWn5tk
rl}ztd|��WYdd}~XnXYnXdS)Nz{%s})�format�KeyErrorr%�environ�AttributeError)�sZ
local_varsZvarrrr�_subst_vars�s
r3cCsF|j�}x3|j�D]%\}}||kr4q|||<qWdS)N)�keys�items)Ztarget_dictZ
other_dictZtarget_keys�key�valuerrr�_extend_dict�s
r8cCs�i}|dkri}t|t��x^t|j�D]L\}}tjdkrftjj|�}tjjt	||��||<q9W|S)N�posixr)zposixznt)
r8r�_INSTALL_SCHEMESr5r%�namer�
expanduser�normpathr3)�scheme�varsZresr6r7rrr�_expand_vars�s#r@cCstjdkrdStjS)Nr9r)r%r;rrrr�_get_default_scheme�srAcCs�tjjdd�}dd�}tjdkr_tjjd�pEd}|rR|S||d�Stjdkr�td	�}|r�|r�|S|dd
|dtjdd��S|r�|S|dd
�SdS)NZPYTHONUSERBASEcWstjjtjj|��S)N)r%rr<r')�argsrrr�joinuser�sz_getuserbase.<locals>.joinuserrZAPPDATA�~ZPython�darwinZPYTHONFRAMEWORKZLibraryz%d.%drz.local)r%r0�getr;�sys�platformr�version_info)Zenv_baserC�baseZ	frameworkrrr�_getuserbase�s"
rKcCsOddl}|jd�}|jd�}|jd�}|dkrKi}i}i}t|dd��}|j�}	WdQRXx�|	D]�}
|
jd�s�|
j�d	kr�q�|j|
�}|r�|jd
d�\}}
|
j�}
|
jdd	�}d
|kr|
||<q�yt	|
�}
Wn(t
k
rN|
jdd
�||<Yq�X|
||<q�Wt|j��}d}x�t
|�dkrxqt|�D]c}||}|j|�}|j|�}|r�|r�|j�|j�kr�|n|}n|r|n|}|dk	r�|jd
�}d}||krJt||�}n�||kr_d}n�|tjkr~tj|}nx||kr�|jd�r�|dd�|kr�d	}q�d||kr�d}q�t|d|�}nd	||<}|r�||j�d�}|d|j��||}d
|krI|||<q�yt	|�}Wn"t
k
r}|j�||<YnX|||<|j|�|jd�r�|dd�|kr�|dd�}||kr�|||<q�|||<|j|�q�WqxWx9|j�D]+\}}
t|
t�r|
j�||<qW|j|�|S)z�Parse a Makefile-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    rNz"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}�errors�surrogateescape�#��rz$$�$�CFLAGS�LDFLAGS�CPPFLAGSTFZPY_r)rRrSrT)�re�compile�open�	readlines�
startswith�strip�match�group�replace�int�
ValueError�listr4�len�tuple�search�start�strr%r0�end�remover5�
isinstance�update)�filenamer?rUZ_variable_rxZ_findvar1_rxZ_findvar2_rxZdoneZnotdone�f�lines�line�m�n�vZtmpvZ	variablesZrenamed_variablesr;r7Zm1Zm2�found�itemZafter�krrr�_parse_makefile�s�	
!


'			






rtcCs�trtjjtptd�Sttd�rDdttj	f}nd}ttj
d�rp|dtj
j7}tjjtd�|d�S)z Return the path of the Makefile.ZMakefile�abiflagszconfig-%s%sZconfig�
_multiarchz-%sr)
�
_PYTHON_BUILDr%rr'r+r,�hasattrrG�_PY_VERSION_SHORTru�implementationrvr)Zconfig_dir_namerrrrLsc,CsSddl}i}t�}yt||�Wn[tk
r�}z;d|}t|d�rk|d|j}t|��WYdd}~XnXt�}y't|��}t||�WdQRXWn[tk
r}z;d|}t|d�r�|d|j}t|��WYdd}~XnXt	r,|d|d<d}d	t
jkrrddl}|j
|�}	||	_|	t
j|<d
t�t
jdd�f}
tt
d�r�|
d
7}
tj|
dd�tjj|
|d�}t|ddd��4}|jd�|jd�|j|d|�WdQRXtdddd��}|j|
�WdQRXdS)z;Generate the Python module containing build-time variables.rNz.invalid Python installation: unable to open %s�strerrorz (%s)ZLDSHAREDZ	BLDSHARED�_sysconfigdatarEzbuild/lib.%s-%srZgettotalrefcountz-pydebug�exist_okTz.py�w�encoding�utf8zB# system configuration generated and used by the sysconfig module
zbuild_time_vars = �streamzpybuilddir.txt�ascii)�pprintrrtrrxr{rrWrrwrGrH�types�
ModuleType�build_time_vars�modulesr�versionr%�makedirsrr'�write)r�r?Zmakefile�e�msgZconfig_hrkr;r��moduleZ
pybuilddirZdestfilerrr�_generate_posix_varsXsL	
	

	
 


r�cCs!ddlm}|j|�dS)z7Initialize the module as appropriate for POSIX systems.r)r�N)r|r�ri)r?r�rrr�_init_posix�sr�cCsqtd�|d<td�|d<td�|d<d|d<d	|d
<t|d<tjjttj��|d<d
S)z+Initialize the module as appropriate for NTrZLIBDESTrZ
BINLIBDESTrZ	INCLUDEPYz.pyd�
EXT_SUFFIXz.exeZEXEZVERSIONZBINDIRN)r�_PY_VERSION_SHORT_NO_DOTr%r�dirnamer rG�
executable)r?rrr�_init_non_posix�s


r�c	Cs�|dkri}ddl}|jd�}|jd�}x�|j�}|sRP|j|�}|r�|jdd�\}}yt|�}Wntk
r�YnX|||<q?|j|�}|r?d||jd�<q?W|S)z�Parse a config.h-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    Nrz"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
rPr)rUrV�readliner[r\r^r_)	�fpr?rUZ	define_rxZundef_rxrmrnrorprrrr�s*

cCsatrBtjdkr3tjjtp'td�}qNtp<t}ntd�}tjj|d�S)zReturn the path of pyconfig.h.rZPCrz
pyconfig.h)rwr%r;rr'r+r,r)Zinc_dirrrrr�scCsttt��S)z,Return a tuple containing the schemes names.)rb�sortedr:rrrrr
�scCstS)z*Return a tuple containing the paths names.)�_SCHEME_KEYSrrrrr	�scCs|rt||�St|SdS)z�Return a mapping containing an install scheme.

    ``scheme`` is the install scheme name. If not provided, it will
    return the default scheme for the current platform.
    N)r@r:)r>r?�expandrrrr
�s
cCst|||�|S)z[Return a path corresponding to the scheme.

    ``scheme`` is the install scheme name.
    )r
)r;r>r?r�rrrr�scGs#tdkr�iattd<ttd<ttd<ttd<tdtdtd<ttd	<ttd
<ttd<ttd<ttd
<ytj	td<Wnt
k
r�dtd<YnXtjdkr�t
t�tjdkr�tt�tjd�}|dk	r	|td<t�td<td�}|r9d|td<n
dtd<tjdt�}tjdkr�tr�tjjt��}tjj||�}ntjjt��}t|�td<tjdkr�ddl}|jt�|rg}x$|D]}|jtj|��q�W|StSdS)anWith no arguments, return a dictionary of all configuration
    variables relevant for the current platform.

    On Unix, this means every variable defined in Python's installed Makefile;
    On Windows it's a much smaller set.

    With arguments, return a list of values that result from looking up
    each argument in the configuration variable dictionary.
    N�prefix�exec_prefixZ
py_versionZpy_version_shortrrZpy_version_nodotZinstalled_baserJZinstalled_platbaseZplatbaseZprojectbaserurOrr9r��SOZuserbaseZ	MULTIARCH�/Zmultiarchsubdir�srcdirrE)�_CONFIG_VARS�_PREFIX�_EXEC_PREFIX�_PY_VERSIONry�_BASE_PREFIX�_BASE_EXEC_PREFIXr,rGrur1r%r;r�r�rFrKrrwrr�rr'r rH�_osx_supportZcustomize_config_vars�append)rBr�Z	multiarchr�rJr�Zvalsr;rrrr�sX
















cCs;|dkr+ddl}|jdtd�t�j|�S)z�Return the value of a single variable using the dictionary returned by
    'get_config_vars()'.

    Equivalent to get_config_vars().get(name)
    r�rNz SO is deprecated, use EXT_SUFFIXr)�warnings�warn�DeprecationWarningrrF)r;r�rrrrJscCs�tjdkr�d}tjj|�}|d*kr:tjStjjd|�}tj|t|�|�j�}|dkr�dS|dkr�dStjStjd	ks�ttd
�r�tjSdtj	kr�tj	dStj
�\}}}}}|j�jdd
�}|jdd�}|jdd�}|dd�dkrTd||fS|dd�dkr�|ddkr�d}dt|d�d|dd�f}ddddi}	|d |	tj
7}n�|dd!�d"kr�d||fS|dd�d#krd$|||fS|dd%�d&krxd&}ddl}
|
jd'�}|j|�}|r�|j�}nF|dd%�d(kr�ddl}
|
jt�|||�\}}}d)|||fS)+a�Return a string that identifies the current platform.

    This is used mainly to distinguish platform-specific build directories and
    platform-specific built distributions.  Typically includes the OS name
    and version and the architecture (as supplied by 'os.uname()'),
    although the exact information included depends on the OS; eg. for IRIX
    the architecture isn't particularly important (IRIX only runs on SGI
    hardware), but for Linux the kernel version isn't particularly
    important.

    Examples of returned values:
       linux-i586
       linux-alpha (?)
       solaris-2.6-sun4u
       irix-5.3
       irix64-6.2

    Windows will return one of:
       win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
       win-ia64 (64bit Windows on Itanium)
       win32 (all others - specifically, sys.platform is returned)

    For other non-POSIX platforms, currently just returns 'sys.platform'.
    rz bit (rP�)Zamd64z	win-amd64Zitaniumzwin-ia64r9�unameZ_PYTHON_HOST_PLATFORMr�rO� �_�-N�Zlinuxz%s-%sZsunosr�5Zsolarisz%d.%srri���Z32bitl����Z64bitz.%s�ZirixZaixz%s-%s.%s��cygwinz[\d.]+rEz%s-%s-%s���)r%r;rGr��findrHra�lowerrxr0r�r]r^�maxsizerUrVr[r\r�Zget_platform_osxr)r��i�jZlookZosnameZhost�releaser��machineZbitnessrUZrel_rernr�rrrrVsZ#(cCstS)N)ryrrrrr�scCsaxZtt|j���D]@\}\}}|dkrEtd|�td||f�qWdS)Nrz%s: z
	%s = "%s")�	enumerater�r5�print)�titler�indexr6r7rrr�_print_dict�s+r�cCsdtjkrt�dStdt��tdt��tdt��t�tdt��t�tdt	��dS)z*Display all information sysconfig detains.z--generate-posix-varsNzPlatform: "%s"zPython version: "%s"z!Current installation scheme: "%s"ZPathsZ	Variables)
rG�argvr�r�rrrAr�r
rrrrr�_main�sr��__main__)zstdlibz
platstdlibrrzincluderzdata)r!r")r!r")zposix_prefixr)A�__doc__r%rG�os.pathrr�__all__r:r�r��splitr�ryr�rr=r�r��base_prefixr�r�r��base_exec_prefixr�r�Z
_USER_BASEr r�r�r,�getcwdr;r��endswithr'r0r*�getattrr+r-rwr>r3r8r@rArKrtrr�r�r�rrr
r	r
rrrrrr�r��__name__rrrr�<module>s�							
	
|? S[

Zerion Mini Shell 1.0