Skip to content

Commit 134fa1d

Browse files
committed
fixup! 53419b6
This reverts commit 53419b6.
1 parent 53419b6 commit 134fa1d

File tree

16 files changed

+36
-56
lines changed

16 files changed

+36
-56
lines changed

src/pip/_internal/cli/req_command.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
install_req_from_req_string,
3131
)
3232
from pip._internal.req.req_file import parse_requirements
33-
from pip._internal.req.req_install import BuildPurpose, InstallRequirement
33+
from pip._internal.req.req_install import InstallRequirement
3434
from pip._internal.req.req_tracker import RequirementTracker
3535
from pip._internal.resolution.base import BaseResolver
3636
from pip._internal.self_outdated_check import pip_self_version_check
@@ -234,7 +234,6 @@ def make_requirement_preparer(
234234
session: PipSession,
235235
finder: PackageFinder,
236236
use_user_site: bool,
237-
purpose: BuildPurpose,
238237
download_dir: Optional[str] = None,
239238
) -> RequirementPreparer:
240239
"""
@@ -274,7 +273,6 @@ def make_requirement_preparer(
274273
use_user_site=use_user_site,
275274
lazy_wheel=lazy_wheel,
276275
in_tree_build="in-tree-build" in options.features_enabled,
277-
purpose=purpose,
278276
)
279277

280278
@classmethod

src/pip/_internal/commands/download.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from pip._internal.cli.cmdoptions import make_target_python
88
from pip._internal.cli.req_command import RequirementCommand, with_cleanup
99
from pip._internal.cli.status_codes import SUCCESS
10-
from pip._internal.req.req_install import BuildPurpose
1110
from pip._internal.req.req_tracker import get_requirement_tracker
1211
from pip._internal.utils.misc import ensure_dir, normalize_path, write_output
1312
from pip._internal.utils.temp_dir import TempDirectory
@@ -115,7 +114,6 @@ def run(self, options: Values, args: List[str]) -> int:
115114
finder=finder,
116115
download_dir=options.download_dir,
117116
use_user_site=False,
118-
purpose=BuildPurpose.WHEEL,
119117
)
120118

121119
resolver = self.make_resolver(

src/pip/_internal/commands/install.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from pip._internal.models.format_control import FormatControl
2424
from pip._internal.operations.check import ConflictDetails, check_install_conflicts
2525
from pip._internal.req import install_given_reqs
26-
from pip._internal.req.req_install import BuildPurpose, InstallRequirement
26+
from pip._internal.req.req_install import InstallRequirement
2727
from pip._internal.req.req_tracker import get_requirement_tracker
2828
from pip._internal.utils.compat import WINDOWS
2929
from pip._internal.utils.distutils_args import parse_distutils_args
@@ -315,7 +315,6 @@ def run(self, options: Values, args: List[str]) -> int:
315315
session=session,
316316
finder=finder,
317317
use_user_site=options.use_user_site,
318-
purpose=BuildPurpose.INSTALL,
319318
)
320319
resolver = self.make_resolver(
321320
preparer=preparer,
@@ -360,7 +359,6 @@ def run(self, options: Values, args: List[str]) -> int:
360359
verify=True,
361360
build_options=[],
362361
global_options=[],
363-
purpose=BuildPurpose.INSTALL,
364362
)
365363

366364
# If we're using PEP 517, we cannot do a direct install

src/pip/_internal/commands/wheel.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pip._internal.cli.req_command import RequirementCommand, with_cleanup
1010
from pip._internal.cli.status_codes import SUCCESS
1111
from pip._internal.exceptions import CommandError
12-
from pip._internal.req.req_install import BuildPurpose, InstallRequirement
12+
from pip._internal.req.req_install import InstallRequirement
1313
from pip._internal.req.req_tracker import get_requirement_tracker
1414
from pip._internal.utils.misc import ensure_dir, normalize_path
1515
from pip._internal.utils.temp_dir import TempDirectory
@@ -121,6 +121,11 @@ def run(self, options: Values, args: List[str]) -> int:
121121

122122
reqs = self.get_requirements(args, options, finder, session)
123123

124+
# Since we want to build regular wheels, disable the building of
125+
# editable wheels.
126+
for req in reqs:
127+
req.no_build_editable = True
128+
124129
preparer = self.make_requirement_preparer(
125130
temp_build_dir=directory,
126131
options=options,
@@ -129,7 +134,6 @@ def run(self, options: Values, args: List[str]) -> int:
129134
finder=finder,
130135
download_dir=options.wheel_dir,
131136
use_user_site=False,
132-
purpose=BuildPurpose.WHEEL,
133137
)
134138

135139
resolver = self.make_resolver(
@@ -159,7 +163,6 @@ def run(self, options: Values, args: List[str]) -> int:
159163
verify=(not options.no_verify),
160164
build_options=options.build_options or [],
161165
global_options=options.global_options or [],
162-
purpose=BuildPurpose.WHEEL,
163166
)
164167
for req in build_successes:
165168
assert req.link and req.link.is_wheel

src/pip/_internal/distributions/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from pip._internal.index.package_finder import PackageFinder
44
from pip._internal.metadata.base import BaseDistribution
5-
from pip._internal.req import BuildPurpose, InstallRequirement
5+
from pip._internal.req import InstallRequirement
66

77

88
class AbstractDistribution(metaclass=abc.ABCMeta):
@@ -31,6 +31,6 @@ def get_metadata_distribution(self) -> BaseDistribution:
3131

3232
@abc.abstractmethod
3333
def prepare_distribution_metadata(
34-
self, finder: PackageFinder, build_isolation: bool, purpose: BuildPurpose
34+
self, finder: PackageFinder, build_isolation: bool
3535
) -> None:
3636
raise NotImplementedError()

src/pip/_internal/distributions/installed.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from pip._internal.distributions.base import AbstractDistribution
22
from pip._internal.index.package_finder import PackageFinder
33
from pip._internal.metadata import BaseDistribution
4-
from pip._internal.req import BuildPurpose
54

65

76
class InstalledDistribution(AbstractDistribution):
@@ -16,6 +15,6 @@ def get_metadata_distribution(self) -> BaseDistribution:
1615
return self.req.satisfied_by
1716

1817
def prepare_distribution_metadata(
19-
self, finder: PackageFinder, build_isolation: bool, purpose: BuildPurpose
18+
self, finder: PackageFinder, build_isolation: bool
2019
) -> None:
2120
pass

src/pip/_internal/distributions/sdist.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from pip._internal.exceptions import InstallationError
77
from pip._internal.index.package_finder import PackageFinder
88
from pip._internal.metadata import BaseDistribution
9-
from pip._internal.req import BuildPurpose
109
from pip._internal.utils.subprocess import runner_with_spinner_message
1110

1211
logger = logging.getLogger(__name__)
@@ -25,22 +24,19 @@ def get_metadata_distribution(self) -> BaseDistribution:
2524
return _Dist(self.req.get_dist())
2625

2726
def prepare_distribution_metadata(
28-
self,
29-
finder: PackageFinder,
30-
build_isolation: bool,
31-
purpose: BuildPurpose,
27+
self, finder: PackageFinder, build_isolation: bool
3228
) -> None:
3329
# Load pyproject.toml, to determine whether PEP 517 is to be used
3430
self.req.load_pyproject_toml()
3531

3632
# Set up the build isolation, if this requirement should be isolated
3733
should_isolate = self.req.use_pep517 and build_isolation
3834
if should_isolate:
39-
self._setup_isolation(finder, purpose)
35+
self._setup_isolation(finder)
4036

41-
self.req.prepare_metadata(purpose)
37+
self.req.prepare_metadata()
4238

43-
def _setup_isolation(self, finder: PackageFinder, purpose: BuildPurpose) -> None:
39+
def _setup_isolation(self, finder: PackageFinder) -> None:
4440
def _raise_conflicts(
4541
conflicting_with: str, conflicting_reqs: Set[Tuple[str, str]]
4642
) -> None:
@@ -94,7 +90,7 @@ def _raise_conflicts(
9490
backend = self.req.pep517_backend
9591
assert backend is not None
9692
with backend.subprocess_runner(runner):
97-
if self.req.editable and purpose == BuildPurpose.INSTALL:
93+
if self.req.editable and not self.req.no_build_editable:
9894
reqs = backend.get_requires_for_build_editable()
9995
else:
10096
reqs = backend.get_requires_for_build_wheel()

src/pip/_internal/distributions/wheel.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
FilesystemWheel,
88
get_wheel_distribution,
99
)
10-
from pip._internal.req import BuildPurpose
1110

1211

1312
class WheelDistribution(AbstractDistribution):
@@ -27,6 +26,6 @@ def get_metadata_distribution(self) -> BaseDistribution:
2726
return get_wheel_distribution(wheel, canonicalize_name(self.req.name))
2827

2928
def prepare_distribution_metadata(
30-
self, finder: PackageFinder, build_isolation: bool, purpose: BuildPurpose
29+
self, finder: PackageFinder, build_isolation: bool
3130
) -> None:
3231
pass

src/pip/_internal/operations/prepare.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
dist_from_wheel_url,
3434
)
3535
from pip._internal.network.session import PipSession
36-
from pip._internal.req.req_install import BuildPurpose, InstallRequirement
36+
from pip._internal.req.req_install import InstallRequirement
3737
from pip._internal.req.req_tracker import RequirementTracker
3838
from pip._internal.utils.deprecation import deprecated
3939
from pip._internal.utils.filesystem import copy2_fixed
@@ -52,12 +52,11 @@ def _get_prepared_distribution(
5252
req_tracker: RequirementTracker,
5353
finder: PackageFinder,
5454
build_isolation: bool,
55-
purpose: BuildPurpose,
5655
) -> BaseDistribution:
5756
"""Prepare a distribution for installation."""
5857
abstract_dist = make_distribution_for_install_requirement(req)
5958
with req_tracker.track(req):
60-
abstract_dist.prepare_distribution_metadata(finder, build_isolation, purpose)
59+
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
6160
return abstract_dist.get_metadata_distribution()
6261

6362

@@ -280,7 +279,6 @@ def __init__(
280279
use_user_site: bool,
281280
lazy_wheel: bool,
282281
in_tree_build: bool,
283-
purpose: BuildPurpose,
284282
) -> None:
285283
super().__init__()
286284

@@ -291,7 +289,6 @@ def __init__(
291289
self._download = Downloader(session, progress_bar)
292290
self._batch_download = BatchDownloader(session, progress_bar)
293291
self.finder = finder
294-
self.purpose = purpose
295292

296293
# Where still-packed archives should be written to. If None, they are
297294
# not saved, and are deleted immediately after unpacking.
@@ -561,7 +558,6 @@ def _prepare_linked_requirement(
561558
self.req_tracker,
562559
self.finder,
563560
self.build_isolation,
564-
self.purpose,
565561
)
566562
return dist
567563

@@ -615,7 +611,6 @@ def prepare_editable_requirement(
615611
self.req_tracker,
616612
self.finder,
617613
self.build_isolation,
618-
self.purpose,
619614
)
620615

621616
req.check_if_exists(self.use_user_site)

src/pip/_internal/req/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
from pip._internal.utils.logging import indent_log
66

77
from .req_file import parse_requirements
8-
from .req_install import BuildPurpose, InstallRequirement
8+
from .req_install import InstallRequirement
99
from .req_set import RequirementSet
1010

1111
__all__ = [
1212
"RequirementSet",
13-
"BuildPurpose",
1413
"InstallRequirement",
1514
"parse_requirements",
1615
"install_given_reqs",

src/pip/_internal/req/constructors.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ def install_req_from_editable(
181181
options: Optional[Dict[str, Any]] = None,
182182
constraint: bool = False,
183183
user_supplied: bool = False,
184+
no_build_editable: bool = False,
184185
) -> InstallRequirement:
185186

186187
parts = parse_req_from_editable(editable_req)
@@ -190,6 +191,7 @@ def install_req_from_editable(
190191
comes_from=comes_from,
191192
user_supplied=user_supplied,
192193
editable=True,
194+
no_build_editable=no_build_editable,
193195
link=parts.link,
194196
constraint=constraint,
195197
use_pep517=use_pep517,

src/pip/_internal/req/req_install.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import sys
88
import uuid
99
import zipfile
10-
from enum import Enum
1110
from typing import Any, Dict, Iterable, List, Optional, Sequence, Union
1211

1312
from pip._vendor import pkg_resources
@@ -61,11 +60,6 @@
6160
logger = logging.getLogger(__name__)
6261

6362

64-
class BuildPurpose(Enum):
65-
WHEEL = 1
66-
INSTALL = 2
67-
68-
6963
def _get_dist(metadata_directory: str) -> Distribution:
7064
"""Return a pkg_resources.Distribution for the provided
7165
metadata directory.
@@ -114,12 +108,14 @@ def __init__(
114108
constraint: bool = False,
115109
extras: Iterable[str] = (),
116110
user_supplied: bool = False,
111+
no_build_editable: bool = False,
117112
) -> None:
118113
assert req is None or isinstance(req, Requirement), req
119114
self.req = req
120115
self.comes_from = comes_from
121116
self.constraint = constraint
122117
self.editable = editable
118+
self.no_build_editable = no_build_editable
123119
self.legacy_install_reason: Optional[int] = None
124120

125121
# source_dir is the local directory where the linked requirement is
@@ -578,7 +574,7 @@ def _generate_metadata(self) -> str:
578574
details=self.name or f"from {self.link}",
579575
)
580576

581-
def prepare_metadata(self, purpose: BuildPurpose) -> None:
577+
def prepare_metadata(self) -> None:
582578
"""Ensure that project metadata is available.
583579
584580
Under PEP 517, call the backend hook to prepare the metadata.
@@ -587,7 +583,7 @@ def prepare_metadata(self, purpose: BuildPurpose) -> None:
587583
assert self.source_dir
588584

589585
with indent_log():
590-
if self.editable and purpose == BuildPurpose.INSTALL:
586+
if self.editable and not self.no_build_editable:
591587
self.metadata_directory = self._generate_metadata_for_editable()
592588
else:
593589
self.metadata_directory = self._generate_metadata()

src/pip/_internal/resolution/resolvelib/candidates.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def make_install_req_from_editable(
8282
use_pep517=template.use_pep517,
8383
isolated=template.isolated,
8484
constraint=template.constraint,
85+
no_build_editable=template.no_build_editable,
8586
options=dict(
8687
install_options=template.install_options,
8788
global_options=template.global_options,

0 commit comments

Comments
 (0)