3 (\@sdZddlmZddlZddlZddlZddlZddlZddlZddl mZ ddl m Z ddl mZddlmZmZddlmZerdd lmZmZmZmZmZejd Zd Zd Zd dZddZddZ erej!j"ej#dZ$n8yej!j"ej%dZ$Wn e&k rej'dYnXej!j(e$Z$ej)dZ*ej+j,dkrJe j-Z*y ej.Z/Wne0k rrej1Z/YnXedZ2erej!j"ej#dZ3ej!j"e/dZ4ej!j5e3sej!j"ej#dZ3ej!j"e/dZ4dZ6ej!j"e2d Z7ej!j"e7e6Z8njej!j"ej#dZ3ej!j"e/dZ4dZ6ej!j"e2dZ7ej!j"e7e6Z8ejdddkrXej#ddd krXd!Z3d"d#ej9d DZ:ej!j"ej#e6Z;ej!j"ejdS)(z7Locations where we look for configs, install stuff, etc)absolute_importN) sysconfig) SCHEME_KEYS)appdirs)WINDOWS expanduser)MYPY_CHECK_RUNNING)AnyUnionDictListOptionalpipzThis file is placed here by pip to indicate the source was put here by pip. Once this package is successfully installed this source code will be deleted (unless you remove this file). zpip-delete-this-directory.txtc Cs2tjj|t}t|d}|jtWdQRXdS)z? Write the pip delete marker file into this directory. wN)ospathjoinPIP_DELETE_MARKER_FILENAMEopenwriteDELETE_MARKER_MESSAGE) directoryfilepath marker_fprj/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-build-k1a8l1r5/pip/pip/_internal/locations.pywrite_delete_marker_file#s rcCs*ttdrdStjttdtjkr&dSdS)zM Return True if we're running inside a virtualenv, False otherwise. real_prefixT base_prefixF)hasattrsysprefixgetattrrrrrrunning_under_virtualenv-s  r#cCsBtjjtjjtj}tjj|d}tr:tjj|r:dSdSdS)z? Return True if in a venv and no system site packages. zno-global-site-packages.txtTFN) rrdirnameabspathsite__file__rr#isfile) site_mod_dirno_global_filerrrvirtualenv_no_global;s r+srcz=The folder you are executing pip from can no longer be found.purelibZpypy~Scriptsbinzpip.inizpip.confz.pipdarwinz/System/Library/z/usr/local/bincCsg|]}tjj|tqSr)rrrconfig_basename).0rrrr sr6FcCsvddlm}i}|r ddgi}ni}d|i} | j||| } | j| jddd} | d k s`t|of| sztd j|||p| j| _|rd | _|p| j| _|p| j | _ |p| j | _ | j xt D]} t | d | || <qWd | jdkr|jt| j| jdtrrtjjtjdddtjd d||d<|d k rrtjjtjj|dd} tjj|| dd |d<|S)z+ Return a distutils install scheme r) Distribution script_argsz --no-user-cfgnameinstallT)createNzuser={} prefix={}install_ install_lib)r-platlibincluder&pythonheaders)distutils.distr7updateparse_config_filesget_command_objAssertionErrorformatuserr!homerootfinalize_optionsrr"get_option_dictdictr>r#rrrr version splitdriver%) dist_namerKrLrMisolatedr!r7schemeextra_dist_args dist_argsdikey path_no_driverrrdistutils_schemesJ            r\)FNNFN)?__doc__ __future__rros.pathplatformr&r r distutilsZdistutils_sysconfigdistutils.command.installrZpip._internal.utilsrZpip._internal.utils.compatrrZpip._internal.utils.typingrZtypingr r r r r user_cache_dirUSER_CACHE_DIRrrrr#r+rrr! src_prefixgetcwdOSErrorexitr%get_path site_packagespython_implementationlowerget_python_libgetusersitepackages user_siteAttributeError USER_SITEuser_dirbin_pybin_userexistsr4legacy_storage_dirlegacy_config_filesite_config_dirsZglobal_config_filesZsite_config_fileuser_config_dirZnew_config_filer\rrrrs|            (