8000 [BUG] · Issue #3197 · pypa/setuptools · GitHub
[go: up one dir, main page]

Skip to content
[BUG]  #3197
@aragilar

Description

@aragilar

setuptools version

61.0.0

Python version

3.9

OS

Debian Unstable

Additional environment information

No response

Description

kiwisolver 1.4.0 (I haven't checked earlier versions, but kiwisolver 1.4.0 did modernise their build, so issues with earlier versions will likely be to different code) can no build from source. I filed nucleic/kiwi#130 with the kiwisolver developers, but it appears that setuptools 60.10.0 does work. Based on looking at v60.10.0...v61.0.0 and the error message that appears (see output), I think this is related to the new(?) package discovery mechanism. I'm not a kiwisolver developer, so I can't answer questions about their build system (other than link you to the repository), but I'm filing this as it appears to be a regression (give setuptools 61 came out 10 hours ago when I wrote this).

Expected behavior

I expect pip install kiwisolver would build a wheel and install it.

How to Reproduce

  1. Run pip install kiwisolver (given kiwisolver has wheels, you may need to disable using wheels to not download a pre-built wheel).

Output

      /tmp/pip-build-env-nwrt4o9m/overlay/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:100: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
        warnings.warn(msg, _ExperimentalProjectMetadata)
      Install ``trove-classifiers`` to ensure proper validation. Meanwhile a list of classifiers will be downloaded from PyPI.
      error: Multiple top-level packages discovered in a flat-layout: ['py', 'kiwi'].
      
      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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs TriageIssues that need to be evaluated for severity and status.bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0