Hi,
I'm a lurker of debian-pyt...@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 -- Carles Pina i Estany https://carles.pina.cat