2.0.2: missing bits in pyproject.toml?🤔
envgap__tsutsu3__linkify-it-py-47
01 / FAILURE SIGNATURE
As reported upstream
KeyError: 'setuptools_scm'
Not a benchmark task.
- The project already builds and runs before the fix, so there is nothing to repair.
02 / ENVIRONMENT RECIPE
- Base commit
bb3479e18a5ef99ade13213aa7d192b0b1760229- Manifest
pyproject.toml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
tsutsu3/linkify-it-py #47 · read the original issue
It looks like create any temporary directory in source tree causes that pep517 based build fails
```console
+ cd linkify-it-py-2.0.2
+ mkdir tmp
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
ERROR setuptools_scm._integration.setuptools pyproject.toml does not contain a tool.setuptools_scm section
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 53, in read_pyproject
section = defn.get("tool", {})[tool_name]
KeyError: 'setuptools_scm'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/setuptools_scm/_integration/setuptools.py", line 121, in infer_version
config = _config.Configuration.from_file(dist_name=dist_name)
File "/usr/lib/python3.8/site-packages/setuptools_scm/_config.py", line 128, in from_file
pyproject_data = _read_pyproject(name, _load_toml=_load_toml)
File "/usr/lib/python3.8/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 55, in read_pyproject
raise LookupError(f"{name} does not contain a tool.{tool_name} section") from e
LookupError: pyproject.toml does not contain a tool.setuptools_scm section
No `packages` or `py_modules` configuration, performing automatic discovery.
`flat-layout` detected -- analysing .
discovered packages -- ['linkify_it', 'SPECPARTS', 'temp']
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
self.run_setup()
File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in run_setup
exec(code, locals())
File "<string>", line 1, in <module>
File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 159, in setup
dist.parse_config_files()
File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 653, in parse_config_files
pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 66, in apply_configuration
config = read_configuration(filepath, True, ignore_option_errors, dist)
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 131, in read_configuration
return expand_configuration(asdict, root_dir, ignore_option_errors, dist)
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 156, in expand_configuration
return _ConfigExpander(config, root_dir, ignore_option_errors, dist).expand()
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 204, in expand
self._expand_all_dynamic(dist, package_dir)
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 249, in _expand_all_dynamic
version=self._obtain_version(dist, package_dir),
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 298, in _obtain_version
return _expand.version(self._obtain(dist, "version", package_dir))
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 287, in _obtain
return self._expand_directive(
File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 281, in _expand_directive
return _expand.read_attr(directive["attr"], package_dir, root_dir)
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 189, in read_attr
_parent_path, path, module_name = _find_module(module_name, package_dir, root_dir)
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 230, in _find_module
if package_dir:
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 460, in __len__
return len(self._target())
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 453, in _target
self._value = self._obtain()
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 423, in _get_package_dir
self()
File "/usr/lib/python3.8/site-packages/setuptools/config/expand.py", line 413, in __call__
self._dist.set_defaults(name=False) # Skip name, we can still be parsing
File "/usr/lib/python3.8/site-packages/setuptools/discovery.py", line 353, in __call__
self._analyse_package_layout(ignore_ext_modules)
File "/usr/lib/python3.8/site-packages/setuptools/discovery.py", line 387, in _analyse_package_layout
or self._analyse_flat_layout()
File "/usr/lib/python3.8/site-packages/setuptools/discovery.py", line 444, in _analyse_flat_layout
return self._analyse_flat_packages() or self._analyse_flat_modules()
File "/usr/lib/python3.8/site-packages/setuptools/discovery.py", line 450, in _analyse_flat_packages
self._ensure_no_accidental_inclusion(top_level, "packages")
File "/usr/lib/python3.8/site-packages/setuptools/discovery.py", line 480, in _ensure_no_accidental_inclusion
raise PackageDiscoveryError(cleandoc(msg))
setuptools.errors.PackageDiscoveryError: Multiple top-level packages discovered in a flat-layout: ['tmp', 'linkify_it'].
To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.
If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:
1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names
To find more information, look for "package discovery" on setuptools docs.
ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
```
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]