FaJ`@sdZddlZddlZddlmZmZdddddd d d d d dg Zdddddddddddddddddid 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 dZ ej dd9Z e de d:Z ejjejZejjejZejjejZejjejZdadZd;d<ZejrdejjeejZneejZejd$krej j!dlreejj"eeeZd?ej#kreej#d?Zd@dAZ$e%edBdZ&e&r@ejd$kr@e&j j!dmr@ejjejje&Z&dCdDdEZ'e'dFZ(e(rx*dnD]"Z)dGee)ddhdiZ?e@djkre?dS)oz-Access to Python's configuration information.N)pardirrealpathget_config_h_filenameget_config_varget_config_varsget_makefile_filenameget_pathget_path_names get_paths get_platformget_python_versionget_scheme_namesparse_config_h posix_prefixstdlibz-{installed_base}/lib/python{py_version_short} platstdlibz'{platbase}/lib/python{py_version_short}purelibz1{base}/lib/python{py_version_short}/site-packagesplatlibz5{platbase}/lib/python{py_version_short}/site-packagesincludez;{installed_base}/include/python{py_version_short}{abiflags} platincludez?{installed_platbase}/include/python{py_version_short}{abiflags}scriptsz {base}/bindataz{base} posix_homez{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonntz{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}/includec Cs+yt|SWntk r&|SYnXdS)N)rOSError)pathr/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$)osrisfilejoin)dfnrrr_is_python_source_dirxs $r*Z_homeFcCs |rtrttSttS)N) _sys_homer* _PROJECT_BASE)Z check_homerrris_python_builds  r-Tz{srcdir}/Includez{projectbase}/.cCsvy|j|SWn^tk rqy|jtjSWn5tk rl}ztd|WYdd}~XnXYnXdS)Nz{%s})formatKeyErrorr%environAttributeError)sZ local_varsZvarrrr _subst_varss r3cCsF|j}x3|jD]%\}}||kr4q|||.joinuserrZAPPDATA~ZPythondarwinZPYTHONFRAMEWORKZLibraryz%d.%drz.local)r%r0getr;sysplatformr version_info)Zenv_baserCbaseZ frameworkrrr _getuserbases"   rKcCsOddl}|jd}|jd}|jd}|dkrKi}i}i}t|dd}|j} WdQRXx| D]} | jds| jd krq|j| } | r| jd d \} } | j} | jd d }d |kr| || r?expandrrrr s cCst||||S)z[Return a path corresponding to the scheme. ``scheme`` is the install scheme name. )r )r;r>r?rrrrrsc Gs#tdkriattdr3r8r@rArKrtrrrrrrr r r rrrr r rr__name__rrrrs                | ?      S [