σ οRec@@sθddlmZddlZddlZddlZddlZddlZddlZddlm Z e r‡ddl m Z m Z nej eƒZejdƒZd„Zd„Zd„Zd „Zd „Zd „Zd „ZdS( i(tabsolute_importN(tMYPY_CHECK_RUNNING(tListtOptionals8include-system-site-packages\s*=\s*(?Ptrue|false)cC@stjttdtjƒkS(snChecks if sys.base_prefix and sys.prefix match. This handles PEP 405 compliant virtual environments. t base_prefix(tsystprefixtgetattr(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyt_running_under_venvscC@s ttdƒS(smChecks if sys.real_prefix is set. This handles virtual environments created with pypa's virtualenv. t real_prefix(thasattrR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyt!_running_under_regular_virtualenvscC@stƒptƒS(sGReturn True if we're running inside a virtualenv, False otherwise. (RR (((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pytrunning_under_virtualenv(scC@sctjjtjdƒ}y2tj|ddƒ}|jƒjƒSWdQXWnt k r^dSXdS(s…Reads {sys.prefix}/pyvenv.cfg and returns its contents as list of lines Returns None, if it could not read/access the file. s pyvenv.cfgtencodingsutf-8N( tostpathtjoinRRtiotopentreadt splitlinestIOErrortNone(tpyvenv_cfg_filetf((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyt_get_pyvenv_cfg_lines/s  cC@sotƒ}|dkr&tjdƒtSxB|D]:}tj|ƒ}|dk r-|jdƒdkr-tSq-WtS(sZCheck `{sys.prefix}/pyvenv.cfg` for system site-packages inclusion PEP 405 specifies that when system site-packages are not supposed to be visible from a virtual environment, `pyvenv.cfg` must contain the following line: include-system-site-packages = false Additionally, log a warning if accessing the file fails. sŽCould not access 'pyvenv.cfg' despite a virtual environment being active. Assuming global site-packages is not accessible in this environment.tvaluetfalseN( RRtloggertwarningtTruet#_INCLUDE_SYSTEM_SITE_PACKAGES_REGEXtmatchtgrouptFalse(t cfg_linestlineR ((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyt_no_global_under_venv?s   !cC@sFtjjtjjtjƒƒ}tjj|dƒ}tjj|ƒS(sΕCheck if "no-global-site-packages.txt" exists beside site.py This mirrors logic in pypa/virtualenv for determining whether system site-packages are visible in the virtual environment. sno-global-site-packages.txt(RRtdirnametabspathtsitet__file__Rtexists(t site_mod_dirtno_global_site_packages_file((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyt#_no_global_under_regular_virtualenv]s!  cC@s$tƒrtƒStƒr tƒStS(sMReturns a boolean, whether running in venv with no system site-packages. (RR%R R-R"(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pytvirtualenv_no_globalks   (t __future__RRtloggingRtreR(Rtpip._internal.utils.typingRttypingRRt getLoggert__name__RtcompileRRR R RR%R-R.(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/virtualenv.pyts&