Getting errors while installing Surprise package
Asked Answered
S

2

6

I am using the below command while installing surprise package. I have got error messages while installing and I am not able to understand. I need help to install this package successfully. pip install scikit-surprise

one of the error code in the last says that Microsoft visual C++ 14 or greater is required but I have 14 version installed so the requirement should be satisfied. screen shot from control panel

(base) C:\Users\S Vishal>pip install scikit-surprise
Collecting scikit-surprise
  Using cached scikit-surprise-1.1.1.tar.gz (11.8 MB)
Requirement already satisfied: joblib>=0.11 in c:\programdata\anaconda3\lib\site-packages (from scikit-surprise) (0.17.0)
Requirement already satisfied: numpy>=1.11.2 in c:\programdata\anaconda3\lib\site-packages (from scikit-surprise) (1.19.2)
Requirement already satisfied: scipy>=1.0.0 in c:\programdata\anaconda3\lib\site-packages (from scikit-surprise) (1.5.2)
Requirement already satisfied: six>=1.10.0 in c:\programdata\anaconda3\lib\site-packages (from scikit-surprise) (1.15.0)
Building wheels for collected packages: scikit-surprise
  Building wheel for scikit-surprise (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\ProgramData\Anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"'; __file__='"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\S Vishal\AppData\Local\Temp\pip-wheel-8n8d7erc'
       cwd: C:\Users\S Vishal\AppData\Local\Temp\pip-install-9wlw55w2\scikit-surprise\
  Complete output (49 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.8
  creating build\lib.win-amd64-3.8\surprise
  copying surprise\accuracy.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\builtin_datasets.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\dataset.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\dump.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\reader.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\trainset.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\utils.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\__init__.py -> build\lib.win-amd64-3.8\surprise
  copying surprise\__main__.py -> build\lib.win-amd64-3.8\surprise
  creating build\lib.win-amd64-3.8\surprise\model_selection
  copying surprise\model_selection\search.py -> build\lib.win-amd64-3.8\surprise\model_selection
  copying surprise\model_selection\split.py -> build\lib.win-amd64-3.8\surprise\model_selection
  copying surprise\model_selection\validation.py -> build\lib.win-amd64-3.8\surprise\model_selection
  copying surprise\model_selection\__init__.py -> build\lib.win-amd64-3.8\surprise\model_selection
  creating build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\algo_base.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\baseline_only.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\knns.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\predictions.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\random_pred.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\__init__.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  running egg_info
  writing scikit_surprise.egg-info\PKG-INFO
  writing dependency_links to scikit_surprise.egg-info\dependency_links.txt
  writing entry points to scikit_surprise.egg-info\entry_points.txt
  writing requirements to scikit_surprise.egg-info\requires.txt
  writing top-level names to scikit_surprise.egg-info\top_level.txt
  reading manifest file 'scikit_surprise.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'scikit_surprise.egg-info\SOURCES.txt'
  copying surprise\similarities.c -> build\lib.win-amd64-3.8\surprise
  copying surprise\similarities.pyx -> build\lib.win-amd64-3.8\surprise
  copying surprise\prediction_algorithms\co_clustering.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\matrix_factorization.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\optimize_baselines.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\slope_one.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\co_clustering.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\matrix_factorization.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\optimize_baselines.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  copying surprise\prediction_algorithms\slope_one.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
  running build_ext
  building 'surprise.similarities' 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/
  ----------------------------------------
  ERROR: Failed building wheel for scikit-surprise
  Running setup.py clean for scikit-surprise
Failed to build scikit-surprise
Installing collected packages: scikit-surprise
    Running setup.py install for scikit-surprise ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\ProgramData\Anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"'; __file__='"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\S Vishal\AppData\Local\Temp\pip-record-p24eovcb\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\ProgramData\Anaconda3\Include\scikit-surprise'
         cwd: C:\Users\S Vishal\AppData\Local\Temp\pip-install-9wlw55w2\scikit-surprise\
    Complete output (49 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.8
    creating build\lib.win-amd64-3.8\surprise
    copying surprise\accuracy.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\builtin_datasets.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\dataset.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\dump.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\reader.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\trainset.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\utils.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\__init__.py -> build\lib.win-amd64-3.8\surprise
    copying surprise\__main__.py -> build\lib.win-amd64-3.8\surprise
    creating build\lib.win-amd64-3.8\surprise\model_selection
    copying surprise\model_selection\search.py -> build\lib.win-amd64-3.8\surprise\model_selection
    copying surprise\model_selection\split.py -> build\lib.win-amd64-3.8\surprise\model_selection
    copying surprise\model_selection\validation.py -> build\lib.win-amd64-3.8\surprise\model_selection
    copying surprise\model_selection\__init__.py -> build\lib.win-amd64-3.8\surprise\model_selection
    creating build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\algo_base.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\baseline_only.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\knns.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\predictions.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\random_pred.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\__init__.py -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    running egg_info
    writing scikit_surprise.egg-info\PKG-INFO
    writing dependency_links to scikit_surprise.egg-info\dependency_links.txt
    writing entry points to scikit_surprise.egg-info\entry_points.txt
    writing requirements to scikit_surprise.egg-info\requires.txt
    writing top-level names to scikit_surprise.egg-info\top_level.txt
    reading manifest file 'scikit_surprise.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'scikit_surprise.egg-info\SOURCES.txt'
    copying surprise\similarities.c -> build\lib.win-amd64-3.8\surprise
    copying surprise\similarities.pyx -> build\lib.win-amd64-3.8\surprise
    copying surprise\prediction_algorithms\co_clustering.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\matrix_factorization.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\optimize_baselines.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\slope_one.c -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\co_clustering.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\matrix_factorization.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\optimize_baselines.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    copying surprise\prediction_algorithms\slope_one.pyx -> build\lib.win-amd64-3.8\surprise\prediction_algorithms
    running build_ext
    building 'surprise.similarities' 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/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\ProgramData\Anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"'; __file__='"'"'C:\\Users\\S Vishal\\AppData\\Local\\Temp\\pip-install-9wlw55w2\\scikit-surprise\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\S Vishal\AppData\Local\Temp\pip-record-p24eovcb\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\ProgramData\Anaconda3\Include\scikit-surprise' Check the logs for full command output.
Snapper answered 12/1, 2021 at 7:10 Comment(0)
A
8

Have you tried installing with Anaconda?

Launch your Anaconda command prompt and run:

conda install -c conda-forge scikit-surprise

I hope this sorts out your issue.

Arrant answered 12/1, 2021 at 7:39 Comment(2)
Thanks a lot Storm, I have run the command which you told and got the below output. I tried importing the surprise package and it works now. Few of the packages are creating inconsistency.Snapper
@VishalS So just to check it worked for you correct?Arrant
P
0

The key error is in Microsoft Visual C++ 14.0 or greater is required. You have to download supporting build tools for C++(sometimes just downloading it from MS website wont work), if you are using visual studio 2022 for python development, you have to modify your installer and download missing build tools, I think its titled "Desktop Development with C++ (not just python developer/IDE) and check almost all tools", however it consumes bit of system space, however it sorted this problem of installing many packages in python which was not working otherwise.

Phail answered 27/9, 2022 at 23:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.