Building PyQt6 on RHEL7

Blair Chesnut blair.chesnut at duke.edu
Thu May 18 16:34:57 BST 2023


Apologies for the long email. I am trying to build PyQt6 on RedHat EL7:

Python 3.9.4 (default, Apr  6 2021, 15:55:07)
[GCC 6.5.0] on linux
>>> platform.uname()
uname_result(system='Linux', node='***.duke.edu', release='3.10.0-1160.88.1.el7.x86_64', version='#1 SMP Sat Feb 18 13:27:00 UTC 2023', machine='x86_64')

I installed the “open source” version of Qt6 via https://wiki.qt.io/Building_Qt_6_from_Git to get a copy of qmake.

“pip install PyQt6” hangs:

$ pip install PyQt6
Collecting PyQt6
  Using cached PyQt6-6.5.0.tar.gz (1.0 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... -


“pip -v install --config-settings --confirm-license= PyQt6” dies when checking QAxContainer bindings:

$ pip -v install --config-settings --confirm-license= PyQt6
Using pip 23.1.2 from /chg2/programmers/bchesnut/mypythonenv/lib/python3.9/site-packages/pip (python 3.9)
Collecting PyQt6
  Using cached PyQt6-6.5.0.tar.gz (1.0 MB)
  Running command pip subprocess to install build dependencies
  Collecting sip<7,>=6.5
    Using cached sip-6.7.9-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (904 kB)
  Collecting PyQt-builder<2,>=1.15
    Using cached PyQt_builder-1.15.0-py3-none-any.whl (3.7 MB)
  Collecting packaging (from sip<7,>=6.5)
    Using cached packaging-23.1-py3-none-any.whl (48 kB)
  Collecting ply (from sip<7,>=6.5)
    Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
  Collecting setuptools (from sip<7,>=6.5)
    Using cached setuptools-67.7.2-py3-none-any.whl (1.1 MB)
  Collecting tomli (from sip<7,>=6.5)
    Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
  Installing collected packages: ply, tomli, setuptools, packaging, sip, PyQt-builder
  Successfully installed PyQt-builder-1.15.0 packaging-23.1 ply-3.11 setuptools-67.7.2 sip-6.7.9 tomli-2.0.1
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Getting requirements to build wheel ... done
  Running command Preparing metadata (pyproject.toml)
  Querying qmake about your Qt installation...
  This is the GPL version of PyQt 6.5.0 (licensed under the GNU General Public License) for Python 3.9.4 on linux.
  Found the license file 'pyqt-gpl.sip'.
  Checking to see if the QtCore bindings can be built...
  Checking to see if the QtNetwork bindings can be built...
  Checking to see if the QtGui bindings can be built...
  Checking to see if the QtQml bindings can be built...
  Checking to see if the QtWidgets bindings can be built...
  Checking to see if the QtDBus bindings can be built...
  The QtDesigner bindings are disabled with a static Qt installation...
  Checking to see if the QtHelp bindings can be built...
  Checking to see if the QtOpenGL bindings can be built...
  Checking to see if the QtOpenGLWidgets bindings can be built...
  Checking to see if the QtPrintSupport bindings can be built...
  Checking to see if the QtQuick bindings can be built...
  Checking to see if the QtQuick3D bindings can be built...
  Checking to see if the QtQuickWidgets bindings can be built...
  Checking to see if the QtSql bindings can be built...
  Checking to see if the QtSvg bindings can be built...
  Checking to see if the QtSvgWidgets bindings can be built...
  Checking to see if the QtTest bindings can be built...
  Checking to see if the QtXml bindings can be built...
  Checking to see if the QtMultimedia bindings can be built...
  Checking to see if the QtMultimediaWidgets bindings can be built...
  Checking to see if the QtPositioning bindings can be built...
  Checking to see if the QtRemoteObjects bindings can be built...
  Checking to see if the QtSensors bindings can be built...
  Checking to see if the QtSerialPort bindings can be built...
  Checking to see if the QtWebChannel bindings can be built...
  Checking to see if the QtWebSockets bindings can be built...
  Checking to see if the QtBluetooth bindings can be built...
  Checking to see if the QtNfc bindings can be built...
  Checking to see if the QtPdf bindings can be built...
  Checking to see if the QtPdfWidgets bindings can be built...
  Checking to see if the QtSpatialAudio bindings can be built...
  Checking to see if the QtTextToSpeech bindings can be built...
  Checking to see if the QAxContainer bindings can be built...
  Traceback (most recent call last):
    File "/chg2/programmers/bchesnut/mypythonenv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/chg2/programmers/bchesnut/mypythonenv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/chg2/programmers/bchesnut/mypythonenv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel
      whl_basename = backend.build_wheel(metadata_directory, config_settings)
    File "/tmp/pip-build-env-c21gn4ah/overlay/lib/python3.9/site-packages/sipbuild/api.py", line 46, in build_wheel
      project = AbstractProject.bootstrap('wheel',
    File "/tmp/pip-build-env-c21gn4ah/overlay/lib/python3.9/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap
      project.setup(pyproject, tool, tool_description)
    File "/tmp/pip-build-env-c21gn4ah/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 602, in setup
      self.update(tool)
    File "project.py", line 187, in update
    File "/tmp/pip-build-env-c21gn4ah/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 623, in update
      self.update_buildable_bindings()
    File "/tmp/pip-build-env-c21gn4ah/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 639, in update_buildable_bindings
      raise UserException("There are no bindings that can be built")
  sipbuild.exceptions.UserException
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /chg2/programmers/bchesnut/mypythonenv/bin/python3 /chg2/programmers/bchesnut/mypythonenv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpoyd_okoz
  cwd: /tmp/pip-install-jssd8lic/pyqt6_f80e4d1f22c74efeabb2a51370d4ffa6
  Preparing metadata (pyproject.toml) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.


I tried downloading and installing the wheel files:

$ pip install PyQt6-6.5.0-cp37-abi3-manylinux_2_28_x86_64.whl
ERROR: PyQt6-6.5.0-cp37-abi3-manylinux_2_28_x86_64.whl is not a supported wheel on this platform.


Thanks in advance for suggestions,
Blair

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20230518/6de61356/attachment-0001.htm>


More information about the PyQt mailing list