-
-
Notifications
You must be signed in to change notification settings - Fork 227
Open
Description
$ uv pip install --no-binary pytest-asyncio pytest-asyncio==1.1.0
Using Python 3.13.7 environment at: /tmp/.venv
Resolved 6 packages in 1ms
× Failed to build `pytest-asyncio==1.1.0`
├─▶ The build backend returned an error
╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)
[stdout]
No `name` configuration, performing automatic discovery
No `packages` or `py_modules` configuration, performing automatic discovery.
`flat-layout` detected -- analysing .
discovered packages -- ['dependencies', 'pytest_asyncio', 'dependencies.default', 'dependencies.docs']
No `name` configuration, performing automatic discovery
[stderr]
/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools_scm/_integration/version_inference.py:51:
UserWarning: version of None already set
warnings.warn(self.message)
No parent package detected, impossible to derive `name`
Traceback (most recent call last):
File "<string>", line 14, in <module>
requires = get_requires_for_build({})
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/build_meta.py", line 331, in
get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/build_meta.py", line 301, in
_get_build_requires
self.run_setup()
~~~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/build_meta.py", line 317, in
run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 1, in <module>
import sys
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/__init__.py", line 115, in setup
return distutils.core.setup(**attrs)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 160,
in setup
dist.parse_config_files()
~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/_virtualenv.py", line 20, in
parse_config_files
result = old_parse_config_files(self, *args, **kwargs)
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/dist.py", line 752, in
parse_config_files
setupcfg.parse_configuration(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, self.command_options, ignore_option_errors=ignore_option_errors
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 188,
in parse_configuration
meta.parse()
~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 502,
in parse
section_parser_method(section_options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 477,
in parse_section
self[name] = value
~~~~^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 294,
in __setitem__
parsed = self.parsers.get(option_name, lambda x: x)(value)
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 600,
in _parse_version
return expand.version(self._parse_attr(value, self.package_dir, self.root_dir))
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/setupcfg.py", line 418,
in _parse_attr
package_dir.update(self.ensure_discovered.package_dir)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen _collections_abc>", line 874, in __iter__
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/expand.py", line 452, in
__iter__
return iter(self._target())
~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/expand.py", line 442, in
_target
self._value = self._obtain()
~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/expand.py", line 412, in
_get_package_dir
self()
~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/config/expand.py", line 397, in
__call__
self._dist.set_defaults(name=False) # Skip name, we can still be parsing
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/discovery.py", line 353, in
__call__
self._analyse_package_layout(ignore_ext_modules)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/discovery.py", line 387, in
_analyse_package_layout
or self._analyse_flat_layout()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/discovery.py", line 444, in
_analyse_flat_layout
return self._analyse_flat_packages() or self._analyse_flat_modules()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/site-packages/setuptools/discovery.py", line 450, in
_analyse_flat_packages
self._ensure_no_accidental_inclusion(top_level, "packages")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mgorny/.cache/uv/builds-v0/.tmpYbjHxq/lib/python3.13/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: ['dependencies',
'pytest_asyncio'].
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.
hint: This usually indicates a problem with the package or the build environment.
Builds fine if I constrain to setuptools-scm<9.2
.
Metadata
Metadata
Assignees
Labels
No labels