-
-
Notifications
You must be signed in to change notification settings - Fork 539
Description
I'd like to follow up on #1673. I couldn't comment or even +1 that issue.
I believe the characterization of the issue as setuptools-specific was incorrect.
Although the issue does affect Setuptools and not Flit, that's only because Setuptools supports building C extensions on Windows.
The issue can't be fixed in Setuptools. By the time tox has masked the ProgramFiles env var, Setuptools has little hope of recovering that setting.
We're not asking tox to patch Setuptools. Instead, we're asking tox to consider honoring the system's intrinsic environment configuration by passing through system-level variables, variables that would be unlikely to be configured by the user and which are necessary for basic operation on the platform (similar to PATH
, SYSTEMDRIVE
, and SYSTEMROOT
).
Failing to support this model will instead require every project that builds extension modules on Windows to bypass this setting in their tox config. I believe this issue was largely missed until recently because most users were still testing on older platforms/compilers that did not rely on vswhere for discovery, but now that Windows 2022 is the default in Github, it's affecting a wide array of users. I contend:
- this exemption is required in every case it affects
- there is no known case that this masking is currently important
- the number of affected projects is large.
I can put together a repro that doesn't involve Setuptools if that helps persuade.