From 416c6f3a3cd39149441f3c3f63a4c4ef6bd1219c Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 14 Aug 2020 14:55:08 -0400 Subject: [PATCH] fix: file method of requirement installs --- cibuildwheel/windows.py | 9 ++++++--- test/test_pep518.py | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 4ebdf691..151f8a30 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -179,9 +179,12 @@ def pep_518_cp35_workaround(package_dir: Path, env: Dict[str, str]) -> None: ) if requirements: - # Workaround for bug when ]>= is present, #421 - requirements = [r.replace("]", "] ") for r in requirements] - call(['pip', 'install'] + requirements, env=env) + with tempfile.TemporaryDirectory() as d: + reqfile = Path(d) / "requirements.txt" + with reqfile.open("w") as f: + for r in requirements: + print(r, file=f) + call(['pip', 'install', '-r', str(reqfile)], env=env) def build(options: BuildOptions) -> None: diff --git a/test/test_pep518.py b/test/test_pep518.py index fe8f8174..58ed2c71 100644 --- a/test/test_pep518.py +++ b/test/test_pep518.py @@ -1,6 +1,7 @@ import textwrap from . import test_projects from . import utils +import os basic_project = test_projects.new_c_project( setup_py_add=textwrap.dedent( @@ -51,3 +52,5 @@ def test_pep518(tmp_path): assert not (project_dir / "42").exists() assert not (project_dir / "4.1.2").exists() + + assert len(os.listdir(project_dir)) == len(basic_project.files)