[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.133.136.95: ~ $
import glob
import os
import subprocess
import sys
import tempfile
from distutils import log
from distutils.errors import DistutilsError
from functools import partial

from . import _reqs
from .wheel import Wheel
from .warnings import SetuptoolsDeprecationWarning


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 _fetch_build_eggs(dist, requires):
    import pkg_resources  # Delay import to avoid unnecessary side-effects

    _DeprecatedInstaller.emit(stacklevel=3)
    _warn_wheel_not_available(dist)

    resolved_dists = pkg_resources.working_set.resolve(
        _reqs.parse(requires, pkg_resources.Requirement),  # required for compatibility
        installer=partial(_fetch_build_egg_no_warn, dist),  # avoid warning twice
        replace_conflicting=True,
    )
    for dist in resolved_dists:
        pkg_resources.working_set.add(dist, replace=True)
    return resolved_dists


def _fetch_build_egg_no_warn(dist, req):  # noqa: C901  # is too complex (16)  # FIXME
    import pkg_resources  # Delay import to avoid unnecessary side-effects

    # 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())
    environment = pkg_resources.Environment()
    for egg_dist in pkg_resources.find_distributions(eggs_dir):
        if egg_dist in req and environment.can_add(egg_dist):
            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)
        dist_metadata = pkg_resources.PathMetadata(
            dist_location, os.path.join(dist_location, 'EGG-INFO')
        )
        dist = pkg_resources.Distribution.from_filename(
            dist_location, metadata=dist_metadata
        )
        return dist


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.
    """
    import pkg_resources  # Delay import to avoid unnecessary side-effects

    # create a copy to avoid mutating the input
    req = pkg_resources.Requirement.parse(str(req))
    req.marker = None
    return req


def _warn_wheel_not_available(dist):
    import pkg_resources  # Delay import to avoid unnecessary side-effects

    try:
        pkg_resources.get_distribution('wheel')
    except pkg_resources.DistributionNotFound:
        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 not decided yet

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
_distutils Folder 0755
_vendor Folder 0755
command Folder 0755
config Folder 0755
extern Folder 0755
__init__.py File 9 KB 0644
_core_metadata.py File 8.71 KB 0644
_entry_points.py File 2.18 KB 0644
_imp.py File 2.38 KB 0644
_importlib.py File 1.43 KB 0644
_itertools.py File 675 B 0644
_normalization.py File 4.12 KB 0644
_path.py File 1.03 KB 0644
_reqs.py File 1.09 KB 0644
archive_util.py File 7.16 KB 0644
build_meta.py File 18.23 KB 0644
cli-32.exe File 11.5 KB 0644
cli-64.exe File 14 KB 0644
cli-arm64.exe File 13.5 KB 0644
cli.exe File 11.5 KB 0644
dep_util.py File 659 B 0644
depends.py File 5.45 KB 0644
discovery.py File 20.65 KB 0644
dist.py File 36.33 KB 0644
errors.py File 2.61 KB 0644
extension.py File 5.46 KB 0644
glob.py File 4.75 KB 0644
gui-32.exe File 11.5 KB 0644
gui-64.exe File 14 KB 0644
gui-arm64.exe File 13.5 KB 0644
gui.exe File 11.5 KB 0644
installer.py File 4.87 KB 0644
launch.py File 812 B 0644
logging.py File 1.21 KB 0644
modified.py File 190 B 0644
monkey.py File 4.67 KB 0644
msvc.py File 46.31 KB 0644
namespaces.py File 3 KB 0644
package_index.py File 37.45 KB 0644
py312compat.py File 330 B 0644
sandbox.py File 14.01 KB 0644
script (dev).tmpl File 218 B 0644
script.tmpl File 138 B 0644
unicode_utils.py File 941 B 0644
version.py File 161 B 0644
warnings.py File 3.61 KB 0644
wheel.py File 8.43 KB 0644
windows_support.py File 720 B 0644