Closes #12391: temporary files are now cleaned up.
diff --git a/Lib/packaging/install.py b/Lib/packaging/install.py
index 551ece1..51e70df 100644
--- a/Lib/packaging/install.py
+++ b/Lib/packaging/install.py
@@ -42,10 +42,7 @@
:param files: a list of files to move.
:param destination: the destination directory to put on the files.
- if not defined, create a new one, using mkdtemp
"""
- if not destination:
- destination = tempfile.mkdtemp()
for old in files:
filename = os.path.split(old)[-1]
@@ -126,8 +123,11 @@
elif _is_archive_file(path):
logger.info('Installing from archive: %s', path)
_unpacked_dir = tempfile.mkdtemp()
- shutil.unpack_archive(path, _unpacked_dir)
- return _run_install_from_archive(_unpacked_dir)
+ try:
+ shutil.unpack_archive(path, _unpacked_dir)
+ return _run_install_from_archive(_unpacked_dir)
+ finally:
+ shutil.rmtree(_unpacked_dir)
else:
logger.warning('No projects to install.')
return False
@@ -179,8 +179,6 @@
:param path: base path to install distribution in
:param paths: list of paths (defaults to sys.path) to look for info
"""
- if not path:
- path = tempfile.mkdtemp()
installed_dists = []
for dist in dists: