Skip to content

Commit 7ee1a55

Browse files
committed
pip-wheel-metadata doesn't need to persist between pip invocations
1 parent 293c91e commit 7ee1a55

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ nosetests.xml
2727
coverage.xml
2828
*.cover
2929
tests/data/common_wheels/
30-
pip-wheel-metadata
3130

3231
# Misc
3332
*~

news/6213.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The ``pip-wheel-metadata`` directory does not need to persist between invocations of pip, use a temporary directory instead of the current ``setup.py`` directory.

src/pip/_internal/req/req_install.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -556,23 +556,24 @@ def prepare_pep517_metadata(self):
556556
# type: () -> None
557557
assert self.pep517_backend is not None
558558

559-
metadata_dir = os.path.join(
560-
self.setup_py_dir,
561-
'pip-wheel-metadata'
562-
)
563-
ensure_dir(metadata_dir)
564-
565-
with self.build_env:
566-
# Note that Pep517HookCaller implements a fallback for
567-
# prepare_metadata_for_build_wheel, so we don't have to
568-
# consider the possibility that this hook doesn't exist.
569-
backend = self.pep517_backend
570-
self.spin_message = "Preparing wheel metadata"
571-
distinfo_dir = backend.prepare_metadata_for_build_wheel(
572-
metadata_dir
559+
with TempDirectory(delete=False) as temp_dir:
560+
metadata_dir = os.path.join(
561+
temp_dir.path,
562+
'pip-wheel-metadata',
573563
)
564+
ensure_dir(metadata_dir)
565+
566+
with self.build_env:
567+
# Note that Pep517HookCaller implements a fallback for
568+
# prepare_metadata_for_build_wheel, so we don't have to
569+
# consider the possibility that this hook doesn't exist.
570+
backend = self.pep517_backend
571+
self.spin_message = "Preparing wheel metadata"
572+
distinfo_dir = backend.prepare_metadata_for_build_wheel(
573+
metadata_dir
574+
)
574575

575-
self.metadata_directory = os.path.join(metadata_dir, distinfo_dir)
576+
self.metadata_directory = os.path.join(metadata_dir, distinfo_dir)
576577

577578
def run_egg_info(self):
578579
# type: () -> None

0 commit comments

Comments
 (0)