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
(8.79 KB)
??
__pycache__
??
_core_metadata.py
(11.7 KB)
??
_discovery.py
(836 B)
??
_distutils
??
_entry_points.py
(2.41 KB)
??
_imp.py
(2.38 KB)
??
_importlib.py
(223 B)
??
_itertools.py
(657 B)
??
_normalization.py
(5.61 KB)
??
_path.py
(2.91 KB)
??
_reqs.py
(1.35 KB)
??
_scripts.py
(10.98 KB)
??
_shutil.py
(1.54 KB)
??
_static.py
(4.74 KB)
??
_vendor
??
archive_util.py
(7.18 KB)
??
build_meta.py
(19.5 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.83 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.97 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)
??
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
(9.25 KB)
??
windows_support.py
(726 B)
Editing: installer.py
from __future__ import annotations import glob import itertools import os import subprocess import sys import tempfile import packaging.requirements import packaging.utils from . import _reqs from ._importlib import metadata from .warnings import SetuptoolsDeprecationWarning from .wheel import Wheel from distutils import log from distutils.errors import DistutilsError def _fixup_find_links(find_links): """Ensure find-links option end-up being a list of strings.""" if isinstance(find_links, str): return find_links.split() assert isinstance(find_links, (tuple, list)) return find_links def fetch_build_egg(dist, req): """Fetch an egg needed for building. Use pip/wheel to fetch/build a wheel.""" _DeprecatedInstaller.emit() _warn_wheel_not_available(dist) return _fetch_build_egg_no_warn(dist, req) def _present(req): return any(_dist_matches_req(dist, req) for dist in metadata.distributions()) def _fetch_build_eggs(dist, requires: _reqs._StrOrIter) -> list[metadata.Distribution]: _DeprecatedInstaller.emit(stacklevel=3) _warn_wheel_not_available(dist) parsed_reqs = _reqs.parse(requires) missing_reqs = itertools.filterfalse(_present, parsed_reqs) needed_reqs = ( req for req in missing_reqs if not req.marker or req.marker.evaluate() ) resolved_dists = [_fetch_build_egg_no_warn(dist, req) for req in needed_reqs] for dist in resolved_dists: # dist.locate_file('') is the directory containing EGG-INFO, where the importabl # contents can be found. sys.path.insert(0, str(dist.locate_file(''))) return resolved_dists def _dist_matches_req(egg_dist, req): return ( packaging.utils.canonicalize_name(egg_dist.name) == packaging.utils.canonicalize_name(req.name) and egg_dist.version in req.specifier ) def _fetch_build_egg_no_warn(dist, req): # noqa: C901 # is too complex (16) # FIXME # Ignore environment markers; if supplied, it is required. req = strip_marker(req) # Take easy_install options into account, but do not override relevant # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll # take precedence. opts = dist.get_option_dict('easy_install') if 'allow_hosts' in opts: raise DistutilsError( 'the `allow-hosts` option is not supported ' 'when using pip to install requirements.' ) quiet = 'PIP_QUIET' not in os.environ and 'PIP_VERBOSE' not in os.environ if 'PIP_INDEX_URL' in os.environ: index_url = None elif 'index_url' in opts: index_url = opts['index_url'][1] else: index_url = None find_links = ( _fixup_find_links(opts['find_links'][1])[:] if 'find_links' in opts else [] ) if dist.dependency_links: find_links.extend(dist.dependency_links) eggs_dir = os.path.realpath(dist.get_egg_cache_dir()) cached_dists = metadata.Distribution.discover(path=glob.glob(f'{eggs_dir}/*.egg')) for egg_dist in cached_dists: if _dist_matches_req(egg_dist, req): return egg_dist with tempfile.TemporaryDirectory() as tmpdir: cmd = [ sys.executable, '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', tmpdir, ] if quiet: cmd.append('--quiet') if index_url is not None: cmd.extend(('--index-url', index_url)) for link in find_links or []: cmd.extend(('--find-links', link)) # If requirement is a PEP 508 direct URL, directly pass # the URL to pip, as `req @ url` does not work on the # command line. cmd.append(req.url or str(req)) try: subprocess.check_call(cmd) except subprocess.CalledProcessError as e: raise DistutilsError(str(e)) from e wheel = Wheel(glob.glob(os.path.join(tmpdir, '*.whl'))[0]) dist_location = os.path.join(eggs_dir, wheel.egg_name()) wheel.install_as_egg(dist_location) return metadata.Distribution.at(dist_location + '/EGG-INFO') def strip_marker(req): """ Return a new requirement without the environment marker to avoid calling pip with something like `babel; extra == "i18n"`, which would always be ignored. """ # create a copy to avoid mutating the input req = packaging.requirements.Requirement(str(req)) req.marker = None return req def _warn_wheel_not_available(dist): try: metadata.distribution('wheel') except metadata.PackageNotFoundError: dist.announce('WARNING: The wheel package is not available.', log.WARN) class _DeprecatedInstaller(SetuptoolsDeprecationWarning): _SUMMARY = "setuptools.installer and fetch_build_eggs are deprecated." _DETAILS = """ Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. """ _DUE_DATE = 2025, 10, 31
Upload File
Create Folder