Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.python > #14214
| From | Julian Gilbey <julian@d-and-j.net> |
|---|---|
| Newsgroups | linux.debian.maint.python, linux.debian.bugs.dist |
| Subject | Re: Strangely rare pytest 7.x bug report |
| Date | 2022-07-04 20:40 +0200 |
| Message-ID | <EFz9f-98bw-3@gated-at.bofh.it> (permalink) |
| References | <EFu9z-95oO-5@gated-at.bofh.it> <EFw1H-96u2-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Cross-posted to 2 groups.
Hi Carles,
Thanks for your thoughts! Yes, indeed that seems to be the issue.
But what I don't understand is why the import is turned into
.pybuild.cpython3_3.9_qtpy.build.qtpy.tests and not just qtpy.tests or
a longer path, and why only this package fails in this way. Perhaps
this is the only package that has an import statement in
pytest_configure?
Best wishes,
Julian
On Mon, Jul 04, 2022 at 04:03:39PM +0100, Carles Pina i Estany wrote:
>
> Hi,
>
> I'm a lurker of debian-python@lists.debian.org but seeing Python+Qt I
> wanted to have a look. I don't have a solution (I might look more
> another time if time permits) but I might have something that might help
> someone who knows the tools better.
>
> I am not familiar with Python Debian packaging details/tools neither
> with pytest :-( so take all of this with a pinch of salt.
>
> If it helps the error comes from:
> /usr/lib/python3.9/importlib/__init__.py in the functin "import_modules"
> it does:
> """
> if name.startswith('.'):
> if not package:
> msg = ("the 'package' argument is required to perform a relative "
> "import for {!r}")
> raise TypeError(msg.format(name))
> """
>
> When the import fails the "name" parameter of "import_modules" function
> is: '.pybuild.cpython3_3.9_qtpy.build.qtpy.tests' , which is derived
> from the hidden dirctory ".pybuild" as created by default by "pybuild".
>
> I think that the initial "." is used only as a directory name but Python
> assumes that is a relative import requiring the package parameter.
>
> Just to check my thoughts, and after running dpkg-buildpackage and
> failing let's try again:
>
> $ cd .pybuild/cpython3_3.9_qtpy/build; python3.9 -m pytest qtpy/tests ; cd -
> Fails with the:
>
> TypeError: the 'package' argument is required to perform a relative import for '.pybuild.cpython3_3.9_qtpy.build.qtpy.tests'
> /home/carles/git/python-qtpy
>
> Then let's try to avoid the initial "." confusion:
>
> $ mv .pybuild pybuild
> $ cd pybuild/cpython3_3.9_qtpy/build; python3.9 -m pytest qtpy/tests ; cd -
>
> It works.
>
> I don't know why this is the only package affected by this though...
>
> Hopefully it helps a bit!
>
> On Jul/04/2022, Julian Gilbey wrote:
> > Dear all,
> >
> > I wonder whether you might have any clue about
> > https://bugs.debian.org/1013700
> > I have mostly worked out the "cause" of the bug, but I haven't quite
> > got to the bottom of it.
> >
> > When running the command
> > PYTHONPATH=. python3.10 -m pytest qtpy/tests
> > in the directory .pybuild/cpython3_3.10_qtpy/build, I get the error
> > message:
> >
> > ImportError while loading conftest '/home/jdg/debian/spyder-packages/qtpy/build-area/python-qtpy-2.1.0/.pybuild/cpython3_3.10_qtpy/build/qtpy/tests/conftest.py'.
> > TypeError: the 'package' argument is required to perform a relative import for '.pybuild.cpython3_3.10_qtpy.build.qtpy.tests'
> >
> > If the directory .pybuild is renamed to pybuild, the tests run without
> > a problem. So there seems to be something funny about conftest.py
> > (and removing all of the other files from the qtpy/tests directory
> > except for the empty __init__.py gives the same error); here's a link
> > to it:
> >
> > https://salsa.debian.org/python-team/packages/python-qtpy/-/blob/master/qtpy/tests/conftest.py
> >
> > But there doesn't seem to be anything out of the ordinary about this.
> > So I am mystified: why does pytest 7.x seem to not give this error on
> > any other Debian package?
> >
> > The only solution I currently have for this package is skip the tests
> > at build time and rely on autopkgtest to do them.
> >
> > Best wishes,
> >
> > Julian
Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Strangely rare pytest 7.x bug report Carles Pina i Estany <carles@pina.cat> - 2022-07-04 17:20 +0200
Re: Strangely rare pytest 7.x bug report Julian Gilbey <julian@d-and-j.net> - 2022-07-04 20:40 +0200
Re: Strangely rare pytest 7.x bug report Carles Pina i Estany <carles@pina.cat> - 2022-07-04 21:40 +0200
Re: Strangely rare pytest 7.x bug report Carles Pina i Estany <carles@pina.cat> - 2022-07-05 09:50 +0200
csiph-web