Problem installing in editable mode in 7.3.4 (regression)
Installing local packages with certain combinations of flags no longer works under pypy3.7-7.3.4 (can confirm it worked under pypy3.7-7.3.3). Here's a minimal reproduction:
FROM pypy:3.7-7.3.4-slim
RUN echo 'from setuptools import setup; setup(name="foo", packages=[])' > setup.py
RUN pypy setup.py develop --user
We get the following cryptic traceback:
Traceback (most recent call last):
File "/opt/pypy/lib-python/3/distutils/util.py", line 192, in subst_vars
return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, s)
File "/opt/pypy/lib-python/3/re.py", line 194, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/opt/pypy/lib-python/3/distutils/util.py", line 189, in _subst
return os.environ[var_name]
File "/opt/pypy/lib-python/3/os.py", line 681, in __getitem__
raise KeyError(key) from None
KeyError: 'implementation_lower'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "setup.py", line 1, in <module>
from setuptools import setup; setup(name="foo", packages=[])
File "/opt/pypy/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/opt/pypy/lib-python/3/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/pypy/lib-python/3/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/opt/pypy/lib-python/3/distutils/dist.py", line 984, in run_command
cmd_obj.ensure_finalized()
File "/opt/pypy/lib-python/3/distutils/cmd.py", line 107, in ensure_finalized
self.finalize_options()
File "/opt/pypy/site-packages/setuptools/command/develop.py", line 52, in finalize_options
easy_install.finalize_options(self)
File "/opt/pypy/site-packages/setuptools/command/easy_install.py", line 260, in finalize_options
self.expand_dirs()
File "/opt/pypy/site-packages/setuptools/command/easy_install.py", line 395, in expand_dirs
self._expand_attrs(dirs)
File "/opt/pypy/site-packages/setuptools/command/easy_install.py", line 377, in _expand_attrs
val = subst_vars(val, self.config_vars)
File "/opt/pypy/lib-python/3/distutils/util.py", line 194, in subst_vars
raise ValueError("invalid variable '$%s'" % var)
ValueError: invalid variable '$'implementation_lower''