On 07-06-2023 02:30, Sandro wrote:
On 06-06-2023 09:39, Elliott Sales de Andrade wrote:
On Mon, Jun 5, 2023 at 6:45 AM Sandro <li...@penguinpee.nl> wrote:
Hi again,
I'm trying to understand why I'm getting a circular import error running
tests only in F37 [1].
It's an easy fix adding an empty __init__.py in %prep, but why are F38
and rawhide buildroots happy not having that file, while F37 complaints?
Looking at the F37 log, you can see that only a few files were copied:
creating build/lib/palettable
copying palettable/utils.py -> build/lib/palettable
copying palettable/palette.py -> build/lib/palettable
copying palettable/__init__.py -> build/lib/palettable
with no trace of something named cmocean. And then looking at F38, you
see:
/usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202:
SetuptoolsDeprecationWarning: Installing 'palettable.cmocean' as
data is deprecated, please list it in `packages`.
############################
# Package would be ignored #
############################
Python recognizes 'palettable.cmocean' as an importable package,
but it is not listed in the `packages` configuration of
setuptools.
'palettable.cmocean' has been automatically added to the
distribution only
because it may contain data files, but this behavior is likely
to change
in future versions of setuptools (and therefore is considered
deprecated).
Please make sure that 'palettable.cmocean' is included as a
package by using
the `packages` configuration field or the proper discovery methods
(for example by using
`find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" and "data files" on
setuptools
documentation page.
So you can see that the newer versions are happily working, but only
through some bit of compatibility concerns. It may eventually break
there as well.
I'm not quite sure I follow your explanation/analysis.
Yes, there is a deprecation warning, which should be addresses by
upstream. I'll let them know, possibly providing a patch.
I can also see that the build for F37 is incomplete. Indeed not all
modules have been added to the wheel.
What I fail to understand is how adding test/__init__.py fixes the
problem. I mean test is not even consulted during build. It resides
outside the palettable namespace.
diff --git a/python-palettable.spec b/python-palettable.spec
index 3334dc8..8d124db 100644
--- a/python-palettable.spec
+++ b/python-palettable.spec
@@ -32,6 +32,7 @@ BuildRequires: git-core
%prep
%autosetup -p1 -n %{pypi_name}-%{version} -S git
+touch test/__init__.py
%generate_buildrequires
%pyproject_buildrequires
This is the only change I made to the spec file. And all of a sudden it
works [2]? I didn't make any changes to pyproject.toml as suggested in
the deprecation warning.
A good night's sleep, a clear head and a rubber duck the size of en
elephant have finally opened my eyes.
Adding test/__init__.py only fixed the tests, not the package. The
resulting RPM is stripped of all submodules.
I changed the pyproject.toml file dropping the
tool.setuptools.packages.find table and adding:
[tool.setuptools]
packages = ["palettable"]
Now all submodules are included and tests succeed without needing to add
__init__.py. Locally, using `fedpkg --release f37 mockbuild -N`, that
is. Building from the resulting SRPM in Copr [3] or Koji [4] the
submodules are still missing.
I'm at a loss, once again, as to what exactly is going on here.
Sorry, if I wasn't clear enough in my initial post.
The versions of the involved packages only differ in minor / patch
versions between F37 and F38, if at all. With python-setuptools-wheel
being the only package with a different major version.
python3-devel 3.11.3-2.fc37 3.11.3-2.fc38
python3-pytest 7.1.3-2.fc37 7.2.2-1.fc38
pyproject-rpm-macros 1.8.0-1.fc37 1.8.0-1.fc38
python-rpm-macros 3.11-5.fc37 3.11-10.fc38
python-pip-wheel 22.2.2-3.fc37 22.3.1-2.fc38
python-setuptools-wheel 62.6.0-3.fc37 65.5.1-2.fc38
[1]
https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6002232/
[2] https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6010125/
[3] https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6017925/
[4] https://koji.fedoraproject.org/koji/taskinfo?taskID=101915616
-- 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