jwilk-archive / python-djvulibre

Python interface to DjVuLibre
GNU General Public License v2.0
25 stars 11 forks source link

error: Microsoft Visual C++ 14.0 or greater is required #17

Open jwilk opened 2 years ago

jwilk commented 2 years ago

In https://github.com/jwilk/python-djvulibre/issues/12#issuecomment-1056910346 @xqt wrote:

I got this error when trying to install with Python 3.10.2

C:\pwb\GIT\core>pip install python-djvulibre
Collecting python-djvulibre
  Downloading python-djvulibre-0.8.7.tar.gz (87 kB)
     ---------------------------------------- 87.8/87.8 KB 1.6 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: python-djvulibre
  Building wheel for python-djvulibre (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for python-djvulibre (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [26 lines of output]
      setup.py:159: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        return distutils.version.LooseVersion(ver)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-3.10
      creating build\lib.win-amd64-3.10\djvu
      copying djvu\__init__.py -> build\lib.win-amd64-3.10\djvu
      copying djvu\const.py -> build\lib.win-amd64-3.10\djvu
      copying djvu\dllpath.py -> build\lib.win-amd64-3.10\djvu
      running build_ext
      cannot execute pkg-config: Das System kann die angegebene Datei nicht finden
      setup.py:146: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        return distutils.version.LooseVersion(version)
      cannot execute pkg-config: Das System kann die angegebene Datei nicht finden
      creating build\temp.win-amd64-3.10
      creating build\temp.win-amd64-3.10\Release
      creating build\temp.win-amd64-3.10\Release\src
      creating 'build\\temp.win-amd64-3.10\\Release\\src\\config.pxi'
      cythoning 'djvu.decode' extension
      generating build\temp.win-amd64-3.10\Release\src\decode.c from djvu/decode.pyx, build\temp.win-amd64-3.10\Release\src\config.pxi, djvu/common.pxi, djvu\decode.pxd, djvu\sexpr.pxd
      C:\Python310\python.exe -m cython -I build\temp.win-amd64-3.10\Release\src -o build\temp.win-amd64-3.10\Release\src\decode.c djvu/decode.pyx
      warning: djvu\common.pxi:139:4: Exception already a builtin Cython type
      building 'djvu.decode' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for python-djvulibre
Failed to build python-djvulibre
ERROR: Could not build wheels for python-djvulibre, which is required to install pyproject.toml-based projects

Microsoft Visual C++ 2015 Resdistributal - 14.26.29325 and 14.26.28720 are installed

Let's track this as a separate bug.

jwilk commented 2 years ago

MSVCR is just a runtime library, but you need an actual C++ compiler to build the modules. Installing the Microsoft C++ Build Tools, as hinted in the error message, might help.

That said, I haven't managed to get python-djvulibre working with anything newer than Python 3.7. My Windows skills are very limited, so I'm afraid you're pretty much on your own.