summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAnderson Bravalheri <andersonbravalheri@gmail.com>2022-02-09 16:27:53 +0000
committerAnderson Bravalheri <andersonbravalheri@gmail.com>2022-03-05 09:58:49 +0000
commit74c73411b24a32a8d030f4339ff8a96c3d26d6fc (patch)
tree7e6f988f4ded4e4ee1079b3066442f3ad7024e78 /tools
parente0d61d45eaf94b55a57a68c6cd65b3e508aee5a9 (diff)
downloadpython-setuptools-git-74c73411b24a32a8d030f4339ff8a96c3d26d6fc.tar.gz
Improve custom vendoring logic for validate-pyproject
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Diffstat (limited to 'tools')
-rw-r--r--tools/vendored.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/tools/vendored.py b/tools/vendored.py
index 53185437..83ab200f 100644
--- a/tools/vendored.py
+++ b/tools/vendored.py
@@ -1,7 +1,5 @@
-import os
import re
import sys
-import shutil
import string
import subprocess
import venv
@@ -156,16 +154,17 @@ def install_validate_pyproject(vendor):
opts["ignore_cleanup_errors"] = True
with TemporaryDirectory(**opts) as tmp:
- venv.create(tmp, with_pip=True)
- path = os.pathsep.join(Path(tmp).glob("*"))
- venv_python = shutil.which("python", path=path)
+ env_builder = venv.EnvBuilder(with_pip=True)
+ env_builder.create(tmp)
+ context = env_builder.ensure_directories(tmp)
+ venv_python = getattr(context, 'env_exec_cmd', context.env_exe)
+
subprocess.check_call([venv_python, "-m", "pip", "install", pkg])
cmd = [
venv_python,
"-m",
"validate_pyproject.vendoring",
- "--output-dir",
- str(vendor / "_validate_pyproject"),
+ f"--output-dir={vendor / '_validate_pyproject' !s}",
"--enable-plugins",
"setuptools",
"distutils",