Safer import of pkg_resources.

This commit is contained in:
Matt Davis
2022-09-09 22:09:57 -04:00
parent 61552ef2bf
commit e45d53546a
9 changed files with 19 additions and 19 deletions
+2 -2
View File
@@ -61,7 +61,7 @@ def check(key, db, json, full_report, bare, stdin, files, cache, ignore, output,
elif stdin:
packages = list(read_requirements(sys.stdin))
else:
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
packages = [
d for d in pkg_resources.working_set
if d.key not in {"python", "wsgiref", "argparse"}
@@ -150,7 +150,7 @@ def license(key, db, json, bare, cache, files, proxyprotocol, proxyhost, proxypo
if files:
packages = list(itertools.chain.from_iterable(read_requirements(f, resolve=True) for f in files))
else:
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
packages = [
d for d in pkg_resources.working_set
if d.key not in {"python", "wsgiref", "argparse"}
+1 -1
View File
@@ -10,7 +10,7 @@
from __future__ import absolute_import
from pkg_resources import get_distribution, DistributionNotFound
from pipenv.patched.pip._vendor.pkg_resources import get_distribution, DistributionNotFound
from pipenv.vendor.cerberus.validator import DocumentError, Validator
from pipenv.vendor.cerberus.schema import rules_set_registry, schema_registry, SchemaError
+1 -1
View File
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from decimal import Decimal
from pkg_resources import Distribution, DistributionNotFound
from pipenv.patched.pip._vendor.pkg_resources import Distribution, DistributionNotFound
from pytest import mark
+6 -6
View File
@@ -43,7 +43,7 @@ from .utils import (
)
try:
import pkg_resources.extern.packaging.requirements as pkg_resources_requirements
import pipenv.patched.pip._vendor.pkg_resources.extern.packaging.requirements as pkg_resources_requirements
except ModuleNotFoundError:
pkg_resources_requirements = None
@@ -70,8 +70,8 @@ if MYPY_RUNNING:
from pipenv.patched.pip._vendor.packaging.requirements import Requirement as PackagingRequirement
from pipenv.patched.pip._internal.index.package_finder import PackageFinder
from pipenv.patched.pip._internal.req.req_install import InstallRequirement
from pkg_resources import DistInfoDistribution, EggInfoDistribution, PathMetadata
from pkg_resources import Requirement as PkgResourcesRequirement
from pipenv.patched.pip._vendor.pkg_resources import DistInfoDistribution, EggInfoDistribution, PathMetadata
from pipenv.patched.pip._vendor.pkg_resources import Requirement as PkgResourcesRequirement
try:
from setuptools.dist import Distribution
@@ -586,7 +586,7 @@ def _get_src_dir(root):
@lru_cache()
def ensure_reqs(reqs):
# type: (List[Union[S, PkgResourcesRequirement]]) -> List[PkgResourcesRequirement]
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
if not isinstance(reqs, Iterable):
raise TypeError("Expecting an Iterable, got %r" % reqs)
@@ -731,7 +731,7 @@ def find_distinfo(target, pkg_name=None):
def get_distinfo_dist(path, pkg_name=None):
# type: (S, Optional[S]) -> Optional[DistInfoDistribution]
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
dist_dir = next(iter(find_distinfo(path, pkg_name=pkg_name)), None)
if dist_dir is not None:
@@ -745,7 +745,7 @@ def get_distinfo_dist(path, pkg_name=None):
def get_egginfo_dist(path, pkg_name=None):
# type: (S, Optional[S]) -> Optional[EggInfoDistribution]
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
egg_dir = next(iter(find_egginfo(path, pkg_name=pkg_name)), None)
if egg_dir is not None:
+5 -5
View File
@@ -49,7 +49,7 @@ if MYPY_RUNNING:
from pipenv.patched.pip._vendor.packaging.markers import Value as PkgResourcesValue
from pipenv.patched.pip._vendor.packaging.markers import Variable as PkgResourcesVariable
from pipenv.patched.pip._vendor.packaging.requirements import Requirement as PackagingRequirement
from pkg_resources import Requirement as PkgResourcesRequirement
from pipenv.patched.pip._vendor.pkg_resources import Requirement as PkgResourcesRequirement
from pipenv.patched.pip._vendor.urllib3.util.url import Url
_T = TypeVar("_T")
@@ -189,7 +189,7 @@ def init_requirement(name):
if not isinstance(name, str):
raise TypeError("must supply a name to generate a requirement")
from pkg_resources import Requirement
from pipenv.patched.pip._vendor.pkg_resources import Requirement
req = Requirement.parse(name)
req.vcs = None
@@ -226,7 +226,7 @@ def parse_extras(extras_str):
:rtype: List[str]
"""
from pkg_resources import Requirement
from pipenv.patched.pip._vendor.pkg_resources import Requirement
extras = Requirement.parse("fakepkg{0}".format(extras_to_string(extras_str))).extras
return sorted(dedup([extra.lower() for extra in extras]))
@@ -456,7 +456,7 @@ def _strip_extras_markers(marker):
@lru_cache()
def get_setuptools_version():
# type: () -> Optional[STRING_TYPE]
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
setuptools_dist = pkg_resources.get_distribution(
pkg_resources.Requirement("setuptools")
@@ -982,7 +982,7 @@ def get_name_variants(pkg):
if not isinstance(pkg, str):
raise TypeError("must provide a string to derive package names")
from pipenv.patched.pip._vendor.packaging.utils import canonicalize_name
from pkg_resources import safe_name
from pipenv.patched.pip._vendor.pkg_resources import safe_name
pkg = pkg.lower()
names = {safe_name(pkg), canonicalize_name(pkg), pkg.replace("-", "_")}
+1 -1
View File
@@ -203,7 +203,7 @@ def is_installable_file(path):
def get_dist_metadata(dist):
from email.parser import FeedParser
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
if isinstance(dist, pkg_resources.DistInfoDistribution) and dist.has_metadata(
"METADATA"
+1 -1
View File
@@ -20,7 +20,7 @@ from shutil import rmtree
from sysconfig import get_config_var
from zipfile import ZIP_DEFLATED, ZIP_STORED
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
from .pkginfo import write_pkg_info
from .macosx_libfile import calculate_macosx_platform_tag
+1 -1
View File
@@ -11,7 +11,7 @@ import sys
def require_pkgresources(name):
try:
import pkg_resources # noqa: F401
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources # noqa: F401
except ImportError:
raise RuntimeError("'{0}' needs pkg_resources (part of setuptools).".format(name))
+1 -1
View File
@@ -5,7 +5,7 @@ Tools for converting old- to new-style metadata.
import os.path
import textwrap
import pkg_resources
import pipenv.patched.pip._vendor.pkg_resources as pkg_resources
from .pkginfo import read_pkg_info