'sip-distinfo not found' following update to SIP v6.6.2

Phil Thompson phil at riverbankcomputing.com
Sun Jul 17 10:39:37 BST 2022


On 07/07/2022 20:20, Vautrin, Yohann wrote:
> Hi,
> 
> I'm using PyQt-builder and SIP to wrap a Qt-based library for Python
> and I've had issues with the latest versions of PyQt-builder (v1.13.0)
> and SIP (v6.6.2).
> 
> When I build the wheel for my package (by calling "python -m build"),
> the process ends with the following messages:
> /home/user/.pyenv/versions/dev-3.8/lib/python3.8/site-packages/pep517/in_process/sip-distinfo
> --inventory /tmp/tmp45zsfozw/inventory.txt --project-root
> /home/user/dev/MyProject/bindings/pyqt5-sip --prefix "" --generator
> _in_process.py --wheel-tag cp37-abi3-manylinux_2_35_x86_64
> --requires-dist "PyQt5-sip (>=12.11, <13)"
> /tmp/tmp45zsfozw/wheel/PyQt5_MyProject-1.0.0.dist-info
> /bin/sh: line 1:
> /home/user/.pyenv/versions/dev-3.8/lib/python3.8/site-packages/pep517/in_process/sip-distinfo:
> No such file or directory
> make: *** [Makefile:340: install_distinfo] Error 127
> _in_process.py: 'make install' failed returning 2
> 
> I believe the cause of this issue is the recent change mentioned in
> the changelog for SIP related to the PEP 517 build process (changeset
> 2768 with hash 98dbce3e62f1 in Mercurial). I've noticed that there are
> still mentions of "pep517" as a possible value for "tool" in
> PyQt-builder and removing code as shown in the diff below in
> pyqtbuild/builder.py seems to fix my problem:
> ------------------------------------------------------
> diff -ru a/builder.py b/builder.py
> --- a/builder.py	2022-07-06 15:47:58.095535865 -0400
> +++ b/builder.py	2022-07-06 15:48:22.804522406 -0400
> @@ -51,15 +51,6 @@
>          """ Set default values for user options that haven't been set 
> yet. """
> 
>          if tool in Option.BUILD_TOOLS:
> -            # A PEP 517 frontend will set PATH so that sip-distinfo is 
> found on
> -            # it.  However for our own frontends we want to use the 
> version
> -            # corresponding to the frontend (and, anyway, the frontend 
> may not
> -            # be on PATH).
> -            if tool != 'pep517':
> -                self._sip_distinfo = os.path.join(
> -                        os.path.abspath(os.path.dirname(sys.argv[0])),
> -                        self._sip_distinfo)
> -
>              # Check we have a qmake.
>              if self.qmake is None:
>                  self.qmake = self._find_exe('qmake')
> ------------------------------------------------------
> 
> With this change the build process works, at least in non-isolated 
> environment.

When using "python -m build" can you tell me what the value of 
sys.argv[0] is at that part of the code?

Thanks,
Phil


More information about the PyQt mailing list