I have a bare-bones pyproject.toml file in an empty directory: [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "test-virtualenvwrapper" version = "0.1.0" dependencies = [ 'virtualenvwrapper ; system_platform == "linux"', 'virtualenvwrapper-win ; system_platform == "win32"', ] When I run pip install -e . I get the following error: (dev38) go|c:\srv\tmp\pyprojplat> pip install -e . Looking in indexes: https://pypi.org/simple, http://pypi.norsktest.xyz Obtaining file:///C:/srv/tmp/pyprojplat Installing build dependencies ... done Checking if build backend supports build_editable ... done Getting requirements to build editable ... error error: subprocess-exited-with-error × Getting requirements to build editable did not run successfully. │ exit code: 1 ╰─> [48 lines of output] configuration error: `project.dependencies[{data__dependencies_x}]` must be pep508 DESCRIPTION: Project dependency specification according to PEP 508 GIVEN VALUE: "virtualenvwrapper ; system_platform == \"linux\"" OFFENDING RULE: 'format' DEFINITION: { "$id": "#/definitions/dependency", "title": "Dependency", "type": "string", "format": "pep508" } Traceback (most recent call last): File "C:\srv\venv\dev38\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\srv\venv\dev38\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "C:\srv\venv\dev38\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 132, in get_requires_for_build_editable return hook(config_settings) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\build_meta.py", line 447, in get_requires_for_build_editable return self.get_requires_for_build_wheel(config_settings) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\build_meta.py", line 320, in _get_build_requires self.run_setup() File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\build_meta.py", line 335, in run_setup exec(code, locals()) File "<string>", line 1, in <module> File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\__init__.py", line 108, in setup return distutils.core.setup(**attrs) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 159, in setup dist.parse_config_files() File "C:\srv\venv\dev38\lib\site-packages\_virtualenv.py", line 21, in parse_config_files result = old_parse_config_files(self, *args, **kwargs) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\dist.py", line 885, in parse_config_files pyprojecttoml.apply_configuration(self, filename, ignore_option_errors) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 62, in apply_configuration config = read_configuration(filepath, True, ignore_option_errors, dist) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 126, in read_configuration validate(subset, filepath) File "C:\Users\me\AppData\Local\Temp\pip-build-env-2lncmkj6\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 51, in validate raise ValueError(f"{error}\n{summary}") from None ValueError: invalid pyproject.toml config: `project.dependencies[{data__dependencies_x}]`. configuration error: `project.dependencies[{data__dependencies_x}]` must be pep508 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × Getting requirements to build editable did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. (dev38) go|c:\srv\tmp\pyprojplat> I believe the system_platform specifiers are correct according to PEP508, so what am I doing wrong..? Continue reading...