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 zipfile import ZipFile
import toml
import shlex
from .environment import ParsedEnvironment
from .util import (BuildOptions, BuildSelector, download,
@@ -172,7 +173,8 @@ def pep_518_cp35_workaround(package_dir: Path, env: Dict[str, str]) -> None:
else []
)
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:
+6 -1
View File
@@ -6,7 +6,11 @@ basic_project = test_projects.new_c_project(
setup_py_add=textwrap.dedent(
"""
# Will fail if PEP 518 does work
import sys
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__)
# Just making sure environment is still set
@@ -24,7 +28,8 @@ basic_project.files[
requires = [
"setuptools>=42",
"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"