Used TempNamedDir instead of tempfile.mkdtemp() to ensure the temporary directory is cleaned up after the subprocess completes.

This commit is contained in:
Paul Gauthier (aider) 2024-07-09 16:03:01 +01:00
parent 472ad976b8
commit f568c45f6b

View file

@ -1,7 +1,7 @@
import re
import subprocess
import sys
import tempfile
from tempfile import TempNamedDir
from setuptools import find_packages, setup
@ -21,7 +21,10 @@ packages = find_packages(exclude=["benchmark"]) + ["aider.website"]
print("Discovered packages:", packages)
torch = "torch==2.2.2"
cmd = [
pytorch_url = None
with TempNamedDir(prefix="pytorch_download_") as temp_dir:
cmd = [
sys.executable,
"-m",
"pip",
@ -29,13 +32,12 @@ cmd = [
torch,
"--no-deps",
"--dest",
tempfile.mkdtemp(prefix="pytorch_download_"),
temp_dir.name,
"--index-url",
"https://download.pytorch.org/whl/cpu",
]
]
pytorch_url = None
try:
try:
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
for line in process.stdout:
print(line, end='') # Print each line of output
@ -46,7 +48,7 @@ try:
process.terminate() # Terminate the subprocess
break
process.wait() # Wait for the process to finish
except subprocess.CalledProcessError as e:
except subprocess.CalledProcessError as e:
print(f"Error running pip download: {e}")
if pytorch_url: