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