Search code examples
pythonpipscipymeson-buildrecord-linkage

Install "recordlinkage" module on Windows


I'm trying to use pip install recordlinkage to install the recordlinkage library. Till now this command has worked for all other modules I've downloaded like pandas, arrow, etc.

However, I started getting a series of errors since I ran pip install recordlinkage. I'm using Python 3.11.1

Initially, I was getting the error -

PS C:\Users\x_AMishra\Documents\VA Scripts> pip install recordlinkage
Collecting recordlinkage
  Using cached recordlinkage-0.15-py3-none-any.whl (926 kB)
Collecting jellyfish>=0.8.0 (from recordlinkage)
  Using cached jellyfish-0.11.2-cp311-none-win32.whl (205 kB)
Requirement already satisfied: numpy>=1.13.0 in c:\users\x_amishra\lib\site-packages (from recordlinkage) (1.24.2)
Collecting pandas<2,>=1 (from recordlinkage)
  Using cached pandas-1.5.3.tar.gz (5.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scipy>=1 (from recordlinkage)
  Using cached scipy-1.10.1.tar.gz (42.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [37 lines of output]
      + meson setup --prefix=C:\Users\x_AMishra C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77 C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77\.mesonpy-jp4kzikw\build --native-file=C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2
      The Meson build system
      Version: 1.1.0
      Source dir: C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77
      Build dir: C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77\.mesonpy-jp4kzikw\build
      Build type: native build
      Project name: SciPy
      Project version: 1.10.1
      Activating VS 17.4.2
      C compiler for the host machine: cl (msvc 19.34.31935 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31935 for x64")
      C linker for the host machine: link link 14.34.31935.0
      C++ compiler for the host machine: cl (msvc 19.34.31935 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31935 for x64")
      C++ linker for the host machine: link link 14.34.31935.0
      Cython compiler for the host machine: cython (cython 0.29.34)
      Host machine cpu family: x86_64
      Host machine cpu: x86_64
      Compiler for C supports arguments -Wno-unused-but-set-variable: NO
      Compiler for C supports arguments -Wno-unused-function: NO
      Compiler for C supports arguments -Wno-conversion: NO
      Compiler for C supports arguments -Wno-misleading-indentation: NO
      Compiler for C supports arguments -Wno-incompatible-pointer-types: NO
      Library m found: NO
     
      ..\..\meson.build:63:0: ERROR: Unknown compiler(s): [['ifort'], ['gfortran'], ['flang'], ['pgfortran'], ['g95']]
      The following exception(s) were encountered:
      Running `ifort --version` gave "[WinError 2] The system cannot find the file specified"
      Running `ifort -V` gave "[WinError 2] The system cannot find the file specified"
      Running `gfortran --version` gave "[WinError 2] The system cannot find the file specified"
      Running `gfortran -V` gave "[WinError 2] The system cannot find the file specified"
      Running `flang --version` gave "[WinError 2] The system cannot find the file specified"
      Running `flang -V` gave "[WinError 2] The system cannot find the file specified"
      Running `pgfortran --version` gave "[WinError 2] The system cannot find the file specified"
      Running `pgfortran -V` gave "[WinError 2] The system cannot find the file specified"
      Running `g95 --version` gave "[WinError 2] The system cannot find the file specified"
      Running `g95 -V` gave "[WinError 2] The system cannot find the file specified"
     
      A full log can be found at C:\Users\x_AMishra\AppData\Local\Temp\pip-install-g2nk2241\scipy_cf7f5cd1633b4b07aaf120b334d5ff77\.mesonpy-jp4kzikw\build\meson-logs\meson-log.txt
      [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.

From what I could figure out, it looked like I was getting errors while installing "scipy" which is dependent on recordlinkage. And from this ERROR: Unknown compiler(s): [['ifort'], ['gfortran'], ['flang'], ['pgfortran'], ['g95']] I figured, a gcc compiler was needed to be installed. I did that and the new error that I'm getting is this -

PS C:\Users\x_AMishra\Documents\VA Scripts> pip install recordlinkage
Collecting recordlinkage
  Using cached recordlinkage-0.15-py3-none-any.whl (926 kB)
Collecting jellyfish>=0.8.0 (from recordlinkage)
  Using cached jellyfish-0.11.2-cp311-none-win32.whl (205 kB)
Requirement already satisfied: numpy>=1.13.0 in c:\users\x_amishra\lib\site-packages (from recordlinkage) (1.24.2)
Collecting pandas<2,>=1 (from recordlinkage)
  Using cached pandas-1.5.3.tar.gz (5.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scipy>=1 (from recordlinkage)
  Using cached scipy-1.10.1.tar.gz (42.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      + meson setup --prefix=C:\Users\x_AMishra C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40 C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40\.mesonpy-m4vblvlb\build --native-file=C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2
      The Meson build system
      Version: 1.1.0
      Source dir: C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40
      Build dir: C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40\.mesonpy-m4vblvlb\build
      Build type: native build
      Project name: SciPy
      Project version: 1.10.1
     
      ..\..\meson.build:1:0: ERROR: Could not invoke sanity test executable: [WinError 5] Access is denied.
     
      A full log can be found at C:\Users\x_AMishra\AppData\Local\Temp\pip-install-i4ll3fah\scipy_50446030ddc0489785aefbfe1a690e40\.mesonpy-m4vblvlb\build\meson-logs\meson-log.txt
      [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.

Now the main error seems to be this ERROR: Could not invoke sanity test executable: [WinError 5] Access is denied. Along with this I get this Pop up message - Pop Up Message

Is there a better way to install recordlinkage? Or is there a way to fix this error?


Solution

  • In the Python 3.11 update, there was a big push for Faster cPython, so the behavior overall could be pretty different. I remember when 3.11 came out, I couldn't even pip install pygame, because it was incompatible until they updated the pygame package. I would recommend falling back to Python 3.10 then trying it.