X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
setuptools
/
??
..
??
__init__.py
(10.16 KB)
??
__pycache__
??
_core_metadata.py
(11.7 KB)
??
_distutils
??
_entry_points.py
(2.26 KB)
??
_imp.py
(2.38 KB)
??
_importlib.py
(223 B)
??
_itertools.py
(657 B)
??
_normalization.py
(5.69 KB)
??
_path.py
(2.62 KB)
??
_reqs.py
(1.4 KB)
??
_shutil.py
(1.46 KB)
??
_static.py
(4.74 KB)
??
_vendor
??
archive_util.py
(7.18 KB)
??
build_meta.py
(19.97 KB)
??
cli-32.exe
(11.5 KB)
??
cli-64.exe
(14 KB)
??
cli-arm64.exe
(13.5 KB)
??
cli.exe
(11.5 KB)
??
command
??
compat
??
config
??
depends.py
(5.83 KB)
??
discovery.py
(20.76 KB)
??
dist.py
(43.84 KB)
??
errors.py
(2.95 KB)
??
extension.py
(6.53 KB)
??
glob.py
(5.92 KB)
??
gui-32.exe
(11.5 KB)
??
gui-64.exe
(14 KB)
??
gui-arm64.exe
(13.5 KB)
??
gui.exe
(11.5 KB)
??
installer.py
(4.99 KB)
??
launch.py
(820 B)
??
logging.py
(1.23 KB)
??
modified.py
(568 B)
??
monkey.py
(3.63 KB)
??
msvc.py
(40.66 KB)
??
namespaces.py
(3.1 KB)
??
package_index.py
(38.18 KB)
??
sandbox.py
(14.56 KB)
??
script (dev).tmpl
(218 B)
??
script.tmpl
(138 B)
??
tests
??
unicode_utils.py
(3.11 KB)
??
version.py
(161 B)
??
warnings.py
(3.71 KB)
??
wheel.py
(8.42 KB)
??
windows_support.py
(726 B)
Editing: _path.py
from __future__ import annotations import contextlib import os import sys from typing import TYPE_CHECKING, TypeVar, Union from more_itertools import unique_everseen if TYPE_CHECKING: from typing_extensions import TypeAlias StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath StrPathT = TypeVar("StrPathT", bound=Union[str, os.PathLike[str]]) def ensure_directory(path): """Ensure that the parent directory of `path` exists""" dirname = os.path.dirname(path) os.makedirs(dirname, exist_ok=True) def same_path(p1: StrPath, p2: StrPath) -> bool: """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 """ return normpath(p1) == normpath(p2) def normpath(filename: StrPath) -> str: """Normalize a file/dir name for comparison purposes.""" # See pkg_resources.normalize_path for notes about cygwin file = os.path.abspath(filename) if sys.platform == 'cygwin' else filename return os.path.normcase(os.path.realpath(os.path.normpath(file))) @contextlib.contextmanager def paths_on_pythonpath(paths): """ 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') """ nothing = object() orig_pythonpath = os.environ.get('PYTHONPATH', nothing) current_pythonpath = os.environ.get('PYTHONPATH', '') try: prefix = os.pathsep.join(unique_everseen(paths)) to_join = filter(None, [prefix, current_pythonpath]) new_path = os.pathsep.join(to_join) if new_path: os.environ['PYTHONPATH'] = new_path yield finally: if orig_pythonpath is nothing: os.environ.pop('PYTHONPATH', None) else: os.environ['PYTHONPATH'] = orig_pythonpath
Upload File
Create Folder