fix: Support environment markers in PEP 518 workaround

This commit is contained in:
Henry Schreiner
2020-07-05 23:16:00 -04:00
parent d0b6401129
commit 7a27ae941c
2 changed files with 10 additions and 3 deletions
+3 -1
View File
@@ -8,6 +8,7 @@ from pathlib import Path
from typing import Dict, List, NamedTuple, Optional, Sequence, Union from typing import Dict, List, NamedTuple, Optional, Sequence, Union
from zipfile import ZipFile from zipfile import ZipFile
import toml import toml
import shlex
from .environment import ParsedEnvironment from .environment import ParsedEnvironment
from .util import (BuildOptions, BuildSelector, download, from .util import (BuildOptions, BuildSelector, download,
@@ -172,7 +173,8 @@ def pep_518_cp35_workaround(package_dir: Path, env: Dict[str, str]) -> None:
else [] else []
) )
if requirements: if requirements:
shell(['pip', 'install'] + requirements, env=env) escaped_requirements = [shlex.quote(s) for s in requirements]
shell(['pip', 'install'] + escaped_requirements, env=env)
def build(options: BuildOptions) -> None: def build(options: BuildOptions) -> None:
+6 -1
View File
@@ -6,7 +6,11 @@ basic_project = test_projects.new_c_project(
setup_py_add=textwrap.dedent( setup_py_add=textwrap.dedent(
""" """
# Will fail if PEP 518 does work # Will fail if PEP 518 does work
import sys
import requests import requests
if sys.version_info < (3, 6, 0):
assert requests.__version__ == "2.22.0", "Requests found but wrong version ({0})".format(requests.__version__)
else:
assert requests.__version__ == "2.23.0", "Requests found but wrong version ({0})".format(requests.__version__) assert requests.__version__ == "2.23.0", "Requests found but wrong version ({0})".format(requests.__version__)
# Just making sure environment is still set # Just making sure environment is still set
@@ -24,7 +28,8 @@ basic_project.files[
requires = [ requires = [
"setuptools>=42", "setuptools>=42",
"wheel", "wheel",
"requests==2.23.0" "requests==2.22.0; python_version<'3.6'",
"requests==2.23.0; python_version>='3.6'"
] ]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"