Multiple top-level packages discovered in a flat-layout

Question:

I am trying to install a library from the source that makes use of Poetry, but I get this error

error: Multiple top-level packages discovered in a flat-layout: ['tulips', 'fixtures'].
        
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

What do I need to do to fix it?

Asked By: Rodrigo

||

Answers:

Based on this comment on a GitHub issue, adding the following lines to your pyproject.toml might solve your problem:

[tool.setuptools]
py-modules = []

(For my case, the other workaround provided in that comment, i.e. adding py_modules=[] as a keyword argument to the setup() function in setup.py worked)

Answered By: Warm_Duscher
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.