Unable to install PyQt6 using third party helpers (poetry, pipenv)

Ludovic Bellière belliere.ludovic at proximus.be
Sun Jan 17 16:36:10 GMT 2021


Thanks for the answer, with both your and kyle's hints I believe I have
narrowed the source of the issue. However I need to ask for forgiveness
as more information was available to my end but I didn't deem it
necessary to share — being tired leads you down a thorny path.

pip tries to fallback on [`_get_wheel_metadata_from_wheel`][1] since
`prepare_metadata_for_build_wheel` isn't available in sipbuild, as you
hinted. The fallback behavior tries to gather information from the
wheel.

The resulting traceback shows sipbuild failing, or more specifically,
PyQt6's project.py bailing because of a wrong version of Qt.

> Traceback (most recent call last):
>   File "/home/xx/.cache/pypoetry/virtualenvs/xx-py3.8/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
>     main()
>   File "/home/xx/.cache/pypoetry/virtualenvs/xx-py3.8/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
>     json_out['return_val'] = hook(**hook_input['kwargs'])
>   File "/home/xx/.cache/pypoetry/virtualenvs/xx-py3.8/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 130, in prepare_metadata_for_build_wheel
>     return _get_wheel_metadata_from_wheel(backend, metadata_directory,
>   File "/home/xx/.cache/pypoetry/virtualenvs/xx-py3.8/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 159, in _get_wheel_metadata_from_wheel
>     whl_basename = backend.build_wheel(metadata_directory, config_settings)
>   File "/tmp/pip-build-env-dkujrq7f/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
>     project = AbstractProject.bootstrap('pep517')
>   File "/tmp/pip-build-env-dkujrq7f/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
>     project.setup(pyproject, tool, tool_description)
>   File "/tmp/pip-build-env-dkujrq7f/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 495, in setup
>     self.update(tool)
>   File "project.py", line 158, in update
> sipbuild.exceptions.UserException

The hints are in my first email's traceback. The build process is
calling my system's qmake to get Qt's information, which at first
sight doesn't make sense. However that's where my understanding of the
process completely disintegrate.

I hope this helps, and thanks again,
Ludovic

[1]: https://github.com/pypa/pip/blob/master/src/pip/_vendor/pep517/_in_process.py#L151


On Sun, 17 Jan 2021 10:19:09 +0000
Phil Thompson <phil at riverbankcomputing.com> wrote:
> PEP 517 states that 'prepare_metadata_for_build_wheel' is an
> optional hook and specifies what the frontend should do if the
> backend doesn't provide it.
> 
> Phil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: Signature digitale OpenPGP
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210117/2f24d9de/attachment.sig>


More information about the PyQt mailing list