On 04-06-2023 21:27, Miro Hrončok wrote:
I ran into a build failure for a Python package that dropped setup.py
in the latest update and uses pyproject.toml for metadata and setuptools.
The build failed due to 'error: Installed (but unpackaged) file(s)
found' [1]. However, all the erroneously installed modules should be
excluded by default, if I understand the setuptools automatic
discovery documentation [2] correctly. They are listed in
'FlatLayoutPackageFinder.DEFAULT_EXCLUDE'. In this case 'docs',
'scripts' and 'test'.
Since this is still beta when using pyproject.toml, I was wondering if
someone else has come across this misbehavior. Or, maybe, it's
something I failed to spot in pyproject.toml, that's causing it.
I can make it work by adding a 'include = ["palettable"]' in the
tool.setuptools.packages.find table [3]. But I'd like a second opinion
before submitting a PR upstream.
First of all, upstream wheel downloaded from
https://pypi.org/project/palettable/3.3.3/#files includes build, docs
and test as well.
I know. I tried a local 'pthon3 -m build' and the wheel was stuffed with
everything. Terrible oversight by upstream, it seems.
I think the elicit exclude configured at
https://github.com/jiffyclub/palettable/blob/v3.3.3/pyproject.toml#L35
migth override the DEFAULT_EXCLUDE value.
That sounds plausible. I also tried modifying pyproject.toml not using
include or exclude. Thus relying on the automatic find mechanism, but I
couldn't get it to work.
The exclude is kinda a no-op, since there are no files named *.test
anywhere.
Adding an explicit include is probably the easiest way out. I'll suggest
that upstream.
I don't know how tool.setuptools.packages.find.exclude behaves, but I
have seen this behavior with pytest, where the default was to exclude a
bunch of directories including ".*", but projects that set their own
excludes (without ".*") suddenly started to collect tests from our
.pyproject-* folders.
Thanks for the feedback. I'll keep that in mind.
-- Sandro
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue