fix: Support environment markers in PEP 518 workaround
This commit is contained in:
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user