3

I am trying to make a program with PyQt5 where on one side it displays a scrollable pdf.

I found a third-party tool called QPageViewer that is compatible with PyQt5, but it has python-poppler-qt5 as a dependency.

Every time I attempt to pip install python-poppler-qt5, I get the following error(s):

(.venv) PS Z:\Projects\PDF Scraping> pip install python-poppler-qt5
Collecting python-poppler-qt5
  Using cached python-poppler-qt5-21.3.0.tar.gz (28 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [27 lines of output]
      Traceback (most recent call last):
        File "Z:\Projects\PDF Scraping\.venv\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 156, in prepare_metadata_for_build_wheel
          hook = backend.prepare_metadata_for_build_wheel
      AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
     
      During handling of the above exception, another exception occurred:
     
      Traceback (most recent call last):
        File "Z:\Projects\PDF Scraping\.venv\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
          main()
        File "Z:\Projects\PDF Scraping\.venv\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "Z:\Projects\PDF Scraping\.venv\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 160, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel
          project = AbstractProject.bootstrap('wheel',
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrap
          project.setup(pyproject, tool, tool_description)
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\sipbuild\project.py", line 584, in setup
          self.apply_user_defaults(tool)
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults
          super().apply_user_defaults(tool)
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\sipbuild\project.py", line 236, in apply_user_defaults
          self.builder.apply_user_defaults(tool)
        File "C:\Users\<user>\AppData\Local\Temp\pip-build-env-w4cnt922\overlay\Lib\site-packages\pyqtbuild\builder.py", line 67, in apply_user_defaults
          raise PyProjectOptionException('qmake',
      sipbuild.pyproject.PyProjectOptionException
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
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 some other things that I found online such as:

  • attempting to pip install python-poppler
  • or python-qt5 (which broke my installation of pyqt5 altogether)
  • upgrading pip
  • upgrading sip
  • switching between python versions 3.10 and 3.9

I even attempted to go a completely different route with PySide but I got the same exact error messages attempting to install that also.

I am at a complete loss and have been trying to fix this for over three hours with no breakthroughs. I appreciate any help that anyone has to offer.

Nikolas
  • 60
  • 7
  • Same here... I have found very few results trying to search about this error, and all of them were about installing another thing that resulted in the same error. – João Vitor Barbosa Sep 29 '22 at 12:14
  • @JoãoVitorBarbosa In my case, I was trying to display a PDF. Ultimately, I used the QBrowserEngine (or whatever it is called) and downloaded the Mozilla PDF viewer from Github. – Nikolas Oct 07 '22 at 21:20
  • @JoãoVitorBarbosa *what* other thing? – musicamante Oct 07 '22 at 22:29
  • @Nikolas It's QWebEngineView, included in the QtWebEngine module (it just takes 10 seconds to look up for the name). Besides, did you consider to write to the PyQt [mailing list](https://www.riverbankcomputing.com/mailman/listinfo/pyqt)? Also, Qt6.4 finally introduced the [QtPdf](https://doc.qt.io/qt-6/qtpdf-index.html) module, which includes [classes](https://doc.qt.io/qt-6/qtpdf-module.html) that provide PDF displaying capabilities. – musicamante Oct 07 '22 at 22:32

0 Answers0