hyb
2025-12-23 10f3a1daddfbc7fa3dd2069197d83e8b6ef19176
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
Ë
@ñúh  ãó—UddlmZddlZddlZddlZddlmZmZmZddl    m
Z
erddl m Z ee eje fZded<edee eje f¬    «Zd
„Zdd „Zdd „Zdd „Zej,d„«Zy)é)Ú annotationsN)Ú TYPE_CHECKINGÚTypeVarÚUnion)Úunique_everseen)Ú    TypeAliasrÚStrPathÚStrPathT)Úboundcóp—tjj|«}tj|d¬«y)z1Ensure that the parent directory of `path` existsT)Úexist_okN)ÚosÚpathÚdirnameÚmakedirs)rrs  úCH:\Change_password\venv_build\Lib\site-packages\setuptools/_path.pyÚensure_directoryrs"€äg‰go‰o˜dÓ#€G܇KK $Ö'ócó0—t|«t|«k(S)a‘Differs from os.path.samefile because it does not require paths to exist.
    Purely string based (no comparison between i-nodes).
    >>> same_path("a/b", "./a/b")
    True
    >>> same_path("a/b", "a/./b")
    True
    >>> same_path("a/b", "././a/b")
    True
    >>> same_path("a/b", "./a/b/c/..")
    True
    >>> same_path("a/b", "../a/b/c")
    False
    >>> same_path("a", "a/b")
    False
    )Únormpath)Úp1Úp2s  rÚ    same_pathrs€ô  B‹<œ8 B›<Ñ 'Ð'rcój—tjdk(rtjj    |«S|S)a
    Contrary to POSIX 2008, on Cygwin, getcwd (3) contains
    symlink components. Using
    os.path.abspath() works around this limitation. A fix in os.getcwd()
    would probably better, in Cygwin even more so, except
    that this seems to be by design...
    Úcygwin)ÚsysÚplatformrrÚabspath©Úfilenames rÚ _cygwin_patchr!*s'€ô),¯ © ¸Ò(@Œ27‰7?‰?˜8Ó $ÐNÀhÐNrc    óƗtjjtjjtjj    t |««««S)z2Normalize a file/dir name for comparison purposes.)rrÚnormcaseÚrealpathrr!rs rrr5s:€ä 7‰7× Ñ œBŸG™G×,Ñ,¬R¯W©W×-=Ñ-=¼mÈHÓ>UÓ-VÓWÓ XÐXrc#óhK—t«}tjjd|«}tjjdd«}    tjj t |««}td||g«}tjj |«}|r|tjd<d–—||ur!tjjdd«y|tjd<y#||ur!tjjdd«w|tjd<wxYw­w)a°
    Add the indicated paths to the head of the PYTHONPATH environment
    variable so that subprocesses will also see the packages at
    these paths.
 
    Do this in a context that restores the value on exit.
 
    >>> getfixture('monkeypatch').setenv('PYTHONPATH', 'anything')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    ...     assert 'anything' in os.environ['PYTHONPATH']
    >>> os.environ['PYTHONPATH']
    'anything'
 
    >>> getfixture('monkeypatch').delenv('PYTHONPATH')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    >>> os.environ.get('PYTHONPATH')
    Ú
PYTHONPATHÚN)    ÚobjectrÚenvironÚgetÚpathsepÚjoinrÚfilterÚpop)ÚpathsÚnothingÚorig_pythonpathÚcurrent_pythonpathÚprefixÚto_joinÚnew_paths       rÚpaths_on_pythonpathr6:sßèø€ô*‹h€GÜ—j‘j—n‘n \°7Ó;€OÜŸ™Ÿ™¨ °bÓ9Ðð 7Ü—‘—‘¤°Ó!7Ó8ˆÜ˜ Ð(:Ð;Ó<ˆÜ—:‘:—?‘? 7Ó+ˆÙ Ø'/ŒBJ‰J|Ñ $Û à ˜gÑ %Ü J‰JN‰N˜<¨Õ .à'6ŒBJ‰J|Ò $øð ˜gÑ %Ü J‰JN‰N˜<¨Õ .à'6ŒBJ‰J|Ò $üs‚A D2ÁA.C5Â<9D2Ã5:D/Ä/D2)rr    rr    ÚreturnÚbool)r r    )r r    r7Ústr)Ú
__future__rÚ
contextlibrrÚtypingrrrÚmore_itertoolsrÚtyping_extensionsrr9ÚPathLiker    Ú__annotations__r
rrr!rÚcontextmanagerr6©rrú<module>rCsŒðÞ"ãÛ    Û
ß0Ñ0å*áÝ+à˜3 § ¡ ¨CÑ 0Ð0Ñ1€ˆÓ1Ù : U¨3°· ± ¸CÑ0@Ð+@Ñ%AÔ B€ò(ó (ó&OóYð
 ×Ññ"7óñ"7r