mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Merge pull request #8752 from sbidoul/imp-8369-deprecation-sbi
This commit is contained in:
commit
0b18e21cbe
3 changed files with 19 additions and 18 deletions
3
news/8752.feature
Normal file
3
news/8752.feature
Normal file
|
@ -0,0 +1,3 @@
|
|||
Make the ``setup.py install`` deprecation warning less noisy. We warn only
|
||||
when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
|
||||
situations where both fails are most probably irrelevant to this deprecation.
|
|
@ -21,7 +21,6 @@ from pip._internal.locations import distutils_scheme
|
|||
from pip._internal.operations.check import check_install_conflicts
|
||||
from pip._internal.req import install_given_reqs
|
||||
from pip._internal.req.req_tracker import get_requirement_tracker
|
||||
from pip._internal.utils.deprecation import deprecated
|
||||
from pip._internal.utils.distutils_args import parse_distutils_args
|
||||
from pip._internal.utils.filesystem import test_writable_dir
|
||||
from pip._internal.utils.misc import (
|
||||
|
@ -371,23 +370,9 @@ class InstallCommand(RequirementCommand):
|
|||
# For now, we just warn about failures building legacy
|
||||
# requirements, as we'll fall through to a direct
|
||||
# install for those.
|
||||
legacy_build_failure_names = [
|
||||
r.name # type: ignore
|
||||
for r in build_failures if not r.use_pep517
|
||||
] # type: List[str]
|
||||
if legacy_build_failure_names:
|
||||
deprecated(
|
||||
reason=(
|
||||
"Could not build wheels for {} which do not use "
|
||||
"PEP 517. pip will fall back to legacy 'setup.py "
|
||||
"install' for these.".format(
|
||||
", ".join(legacy_build_failure_names)
|
||||
)
|
||||
),
|
||||
replacement="to fix the wheel build issue reported above",
|
||||
gone_in="21.0",
|
||||
issue=8368,
|
||||
)
|
||||
for r in build_failures:
|
||||
if not r.use_pep517:
|
||||
r.legacy_install_reason = 8368
|
||||
|
||||
to_install = resolver.get_installation_order(
|
||||
requirement_set
|
||||
|
|
|
@ -121,6 +121,7 @@ class InstallRequirement(object):
|
|||
self.comes_from = comes_from
|
||||
self.constraint = constraint
|
||||
self.editable = editable
|
||||
self.legacy_install_reason = None # type: Optional[int]
|
||||
|
||||
# source_dir is the local directory where the linked requirement is
|
||||
# located, or unpacked. In case unpacking is needed, creating and
|
||||
|
@ -853,6 +854,18 @@ class InstallRequirement(object):
|
|||
|
||||
self.install_succeeded = success
|
||||
|
||||
if success and self.legacy_install_reason == 8368:
|
||||
deprecated(
|
||||
reason=(
|
||||
"{} was installed using the legacy 'setup.py install' "
|
||||
"method, because a wheel could not be built for it.".
|
||||
format(self.name)
|
||||
),
|
||||
replacement="to fix the wheel build issue reported above",
|
||||
gone_in="21.0",
|
||||
issue=8368,
|
||||
)
|
||||
|
||||
|
||||
def check_invalid_constraint_type(req):
|
||||
# type: (InstallRequirement) -> str
|
||||
|
|
Loading…
Reference in a new issue