frescobaldi / python-poppler-qt5

Python binding to libpoppler-qt5
Other
42 stars 32 forks source link

Failed to install on Python 3.11 on Windows 10 #58

Closed henrylzy closed 1 year ago

henrylzy commented 1 year ago

all other modules were up-to-date including pip

Collecting python-poppler-qt5
  Using cached python-poppler-qt5-21.3.0.tar.gz (28 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'

  error: subprocess-exited-with-error

  Preparing metadata (pyproject.toml) did not run successfully.
  exit code: 1

  [31 lines of output]
  Traceback (most recent call last):
    File "C:\Users\Lenovo\PycharmProjects\TPRT\venv\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 144, 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 "C:\Users\Lenovo\PycharmProjects\TPRT\venv\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 351, in <module>
      main()
    File "C:\Users\Lenovo\PycharmProjects\TPRT\venv\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 333, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Lenovo\PycharmProjects\TPRT\venv\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 148, in prepare_metadata_for_build_wheel
      whl_basename = backend.build_wheel(metadata_directory, config_settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel
      project = AbstractProject.bootstrap('wheel',
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrap
      project.setup(pyproject, tool, tool_description)
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\sipbuild\project.py", line 585, in setup
      self.apply_user_defaults(tool)
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults
      super().apply_user_defaults(tool)
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\sipbuild\project.py", line 236, in apply_user_defaults
      self.builder.apply_user_defaults(tool)
    File "C:\Users\Lenovo\AppData\Local\Temp\pip-build-env-0_z79xp0\overlay\Lib\site-packages\pyqtbuild\builder.py", line 69, 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.
fedelibre commented 1 year ago

Is qmake available if you try to run it in a terminal without the full path? If not, you might have to add it to the PATH environment variable. How did you install Qt5? If you used Chocolatey, the path to qmake is C:\Qt\5.15.2\mingw81_64\bin.

henrylzy commented 1 year ago

Is qmake available if you try to run it in a terminal without the full path? If not, you might have to add it to the PATH environment variable. How did you install Qt5? If you used Chocolatey, the path to qmake is C:\Qt\5.15.2\mingw81_64\bin.

Tbh, I have no idea. I installed PyQt5 from Pycharm(not in terminal via pip install) and I'm confused about all the Qt, PyQt5 or Qt5. I've installed PyQt5, PyQt5-Qt, PyQt5-Qt5 and PyQt5-sip, not sure which contains qmake

fedelibre commented 1 year ago

qmake is provided by Qt5, not by PyQt5. Well, at least in Linux.

Searching a file in the file manager should be pretty easy...

henrylzy commented 1 year ago

qmake is provided by Qt5, not by PyQt5. Well, at least in Linux.

Searching a file in the file manager should be pretty easy...

Somehow Chocolatey doesn't work for me, so I tried the Qt installer from their website and finally got qmake.exe.

However it doesn't help and I still got this same error message.

fedelibre commented 1 year ago

Can you paste here the content of your PATH variable? In the command prompt:

echo %PATH%
henrylzy commented 1 year ago

C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\; C:\Windows\System32\OpenSSH\; C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common; C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR; C:\Program Files\Git\cmd; C:\ProgramData\chocolatey\bin; C:\Qt\5.15.2\mingw81_64\bin; C:\Users\Lenovo\AppData\Local\Programs\Python\Python311\Scripts\; C:\Users\Lenovo\AppData\Local\Programs\Python\Python311\; C:\Users\Lenovo\AppData\Local\Microsoft\WindowsApps; C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin; C:\Qt\5.15.2\mingw81_64\bin\

fedelibre commented 1 year ago

I'm now doing a test on a Windows laptop, using Git Bash as terminal.

The first step is make sure you can run qmake:

$ qmake.exe --version
QMake version 3.1
Using Qt version 5.15.2 in C:/Qt/5.15.2/mingw81_64/lib

Then I think you have to install pkgcofig and add a path to poppler-qt5.pc to an environment variable:

choco install pkgconfiglite # on command prompt as administrator
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"C:/......"

Now my problem is installing Poppler for Windows. The version on Chocolatey is too old and I can't find any installer. I've seen a way to install it via Anaconda, but I don't know how Anaconda works and I didn't have time to study it.

Did you install Poppler? It should contain the poppler-qt5.pc file needed to run the build.

fedelibre commented 1 year ago

There are Windows binaries here: https://github.com/oschwartz10612/poppler-windows/releases/

but they are missing the poppler-qt5.pc file. In Library/lib/pkgconfig there are only poppler.pc, poppler-cpp.pc and poppler-glib.pc. I'm looking in 21.08 binary files.

The sources do not contain that file, as I think it's generated during the build from poppler-qt5.pc.cmake.

I found a CYGWIN package but it's old and unmaintained: https://www.cygwin.com/packages/summary/mingw64-i686-poppler-qt5.html

fedelibre commented 1 year ago

For the records, here's the error I currently get on Windows. As stated above, the problem is the missing poppler-qt5.pc file.

test@xps MINGW64 ~/python-poppler-qt5 (master)
$ py -m pip install --user .
Processing c:\users\test\python-poppler-qt5
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  Preparing metadata (pyproject.toml) did not run successfully.
  exit code: 1

  [45 lines of output]
  Querying qmake about your Qt installation...
  Package poppler-qt5 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `poppler-qt5.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'poppler-qt5' found
  Traceback (most recent call last):
    File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 144, 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 "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 351, in <module>
      main()
    File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 333, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 148, in prepare_metadata_for_build_wheel
      whl_basename = backend.build_wheel(metadata_directory, config_settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\AppData\Local\Temp\pip-build-env-iuxzoxxf\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel
      project = AbstractProject.bootstrap('wheel',
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\AppData\Local\Temp\pip-build-env-iuxzoxxf\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrap
      project.setup(pyproject, tool, tool_description)
    File "C:\Users\test\AppData\Local\Temp\pip-build-env-iuxzoxxf\overlay\Lib\site-packages\sipbuild\project.py", line 585, in setup
      self.apply_user_defaults(tool)
    File "C:\Users\test\AppData\Local\Temp\pip-build-env-iuxzoxxf\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults
      super().apply_user_defaults(tool)
    File "C:\Users\test\AppData\Local\Temp\pip-build-env-iuxzoxxf\overlay\Lib\site-packages\sipbuild\project.py", line 239, in apply_user_defaults
      bindings.apply_user_defaults(tool)
    File "C:\Users\test\python-poppler-qt5\project.py", line 50, in apply_user_defaults
      cflags = self.run_pkg_config('--cflags-only-I').split()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\python-poppler-qt5\project.py", line 43, in run_pkg_config
      output = subprocess.check_output(
               ^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 466, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 571, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['pkg-config', '--cflags-only-I', 'poppler-qt5']' returned non-zero exit status 1.
  [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.
fedelibre commented 1 year ago

Well, I found this: https://sourceforge.net/projects/poppler-win32/

but again, it's very old... what a mess is WIndows

fedelibre commented 1 year ago

I'm glad to say that I managed to install poppler and poppler-qt via conda-forge packages using a Miniconda installation. Adding these paths (adapt to your path) allows to pass the pkgconfig check and start the build:

set PKG_CONFIG_PATH=c:\Users\test\miniconda3\pkgs\poppler-qt-22.12.0-hb9cfb58_1\Library\lib\pkgconfig;c:\Users\test\miniconda3\pkgs\poppler-22.12.0-h183ae7b_1\Library\lib\pkgconfig

Now I get a different error:

          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 881, in onerror
          cls._rmtree(path, ignore_errors=ignore_errors)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 890, in _rmtree
          _shutil.rmtree(name, onerror=onerror)
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 759, in rmtree
          return _rmtree_unsafe(path, onerror)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\shutil.py", line 626, in _rmtree_unsafe
          onerror(os.rmdir, path, sys.exc_info())
        File "C:\Users\test\AppData\Local\Programs\Python\Python311\Lib\tempfile.py", line 875, in onerror
          resetperms(path)
      RecursionError: maximum recursion depth exceeded
      [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.

C:\Users\test\python-poppler-qt5>
fedelibre commented 1 year ago

I forgot to write that I'm doing 'pip install --user .' from the local git repository (current master).

The RecursionError occurs both using the standard python installation (version 3.11.1) in the command prompt and the Conda python installation (3.10.8) in the Anaconda prompt.

jeanas commented 1 year ago

Closing, as this seems to be entirely about trouble with installing the dependencies, and we already have issue #42 to track the desire of not requiring end users to install the dependencies.