zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
U
H=®dá ã@s¤ddlmZddlZddlZddlZddlZddlZddlmZerTddl    m
Z
m Z e  e ¡Ze d¡Zdd„Zdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„ZdS)é)Úabsolute_importN)ÚMYPY_CHECK_RUNNING)ÚListÚOptionalz8include-system-site-packages\s*=\s*(?P<value>true|false)cCstjttdtjƒkS)znChecks if sys.base_prefix and sys.prefix match.
 
    This handles PEP 405 compliant virtual environments.
    Ú base_prefix)ÚsysÚprefixÚgetattr©r
r
úUD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_internal/utils/virtualenv.pyÚ_running_under_venvsr cCs
ttdƒS)zmChecks if sys.real_prefix is set.
 
    This handles virtual environments created with pypa's virtualenv.
    Ú real_prefix)Úhasattrrr
r
r
r Ú!_running_under_regular_virtualenvsrcCs tƒp
tƒS)zGReturn True if we're running inside a virtualenv, False otherwise.
    )r rr
r
r
r Úrunning_under_virtualenv'src
CsZtj tjd¡}z.t|ƒ}| ¡ ¡W5QR£WSQRXWntk
rTYdSXdS)z…Reads {sys.prefix}/pyvenv.cfg and returns its contents as list of lines
 
    Returns None, if it could not read/access the file.
    z
pyvenv.cfgN)    ÚosÚpathÚjoinrrÚopenÚreadÚ
splitlinesÚIOError)Úpyvenv_cfg_fileÚfr
r
r Ú_get_pyvenv_cfg_lines.s 
$rcCsPtƒ}|dkrt d¡dS|D]*}t |¡}|dk    r | d¡dkr dSq dS)aZCheck `{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.
    NzŽCould not access 'pyvenv.cfg' despite a virtual environment being active. Assuming global site-packages is not accessible in this environment.TÚvalueÚfalseF)rÚloggerÚwarningÚ#_INCLUDE_SYSTEM_SITE_PACKAGES_REGEXÚmatchÚgroup)Ú    cfg_linesÚliner r
r
r Ú_no_global_under_venv<s ÿ
r$cCs0tj tj tj¡¡}tj |d¡}tj |¡S)zÅ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.
    zno-global-site-packages.txt)rrÚdirnameÚabspathÚsiteÚ__file__rÚexists)Ú site_mod_dirÚno_global_site_packages_filer
r
r Ú#_no_global_under_regular_virtualenvZs ÿr,cCstƒr tƒStƒrtƒSdS)zMReturns a boolean, whether running in venv with no system site-packages.
    F)r r$rr,r
r
r
r Úvirtualenv_no_globalhs
r-)Ú
__future__rÚloggingrÚrer'rÚpip._internal.utils.typingrÚtypingrrÚ    getLoggerÚ__name__rÚcompilerr rrrr$r,r-r
r
r
r Ú<module>s&  
ÿ