path should be string, bytes, os.PathLike or integer, not NoneType
on windows 10 and python 3.7
C:\WINDOWS\system32>pip install scikit-surprise WARNING: Ignoring invalid distribution -atplotlib (c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages) WARNING: Ignoring invalid distribution -atplotlib (c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages) Collecting scikit-surprise Using cached scikit-surprise-1.1.1.tar.gz (11.8 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: joblib>=0.11 in c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages (from scikit-surprise) (0.14.0) Requirement already satisfied: numpy>=1.11.2 in c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages (from scikit-surprise) (1.21.5) Requirement already satisfied: scipy>=1.0.0 in c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages (from scikit-surprise) (1.4.1) Requirement already satisfied: six>=1.10.0 in c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages (from scikit-surprise) (1.12.0) Building wheels for collected packages: scikit-surprise Building wheel for scikit-surprise (setup.py) ... error error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [96 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\surprise
copying surprise\accuracy.py -> build\lib.win-amd64-3.7\surprise
copying surprise\builtin_datasets.py -> build\lib.win-amd64-3.7\surprise
copying surprise\dataset.py -> build\lib.win-amd64-3.7\surprise
copying surprise\dump.py -> build\lib.win-amd64-3.7\surprise
copying surprise\reader.py -> build\lib.win-amd64-3.7\surprise
copying surprise\trainset.py -> build\lib.win-amd64-3.7\surprise
copying surprise\utils.py -> build\lib.win-amd64-3.7\surprise
copying surprise_init_.py -> build\lib.win-amd64-3.7\surprise
copying surprise_main_.py -> build\lib.win-amd64-3.7\surprise
creating build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\search.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\split.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\validation.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection_init_.py -> build\lib.win-amd64-3.7\surprise\model_selection
creating build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\algo_base.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\baseline_only.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\knns.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\predictions.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\random_pred.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms_init_.py -> build\lib.win-amd64-3.7\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.7\surprise
copying surprise\similarities.pyx -> build\lib.win-amd64-3.7\surprise
copying surprise\prediction_algorithms\co_clustering.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\matrix_factorization.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\optimize_baselines.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\slope_one.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\co_clustering.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\matrix_factorization.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\optimize_baselines.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\slope_one.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
running build_ext
building 'surprise.similarities' extension
Traceback (most recent call last):
File "
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for scikit-surprise Running setup.py clean for scikit-surprise Failed to build scikit-surprise WARNING: Ignoring invalid distribution -atplotlib (c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages) Installing collected packages: scikit-surprise Running setup.py install for scikit-surprise ... error error: subprocess-exited-with-error
× Running setup.py install for scikit-surprise did not run successfully.
│ exit code: 1
╰─> [98 lines of output]
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\surprise
copying surprise\accuracy.py -> build\lib.win-amd64-3.7\surprise
copying surprise\builtin_datasets.py -> build\lib.win-amd64-3.7\surprise
copying surprise\dataset.py -> build\lib.win-amd64-3.7\surprise
copying surprise\dump.py -> build\lib.win-amd64-3.7\surprise
copying surprise\reader.py -> build\lib.win-amd64-3.7\surprise
copying surprise\trainset.py -> build\lib.win-amd64-3.7\surprise
copying surprise\utils.py -> build\lib.win-amd64-3.7\surprise
copying surprise_init_.py -> build\lib.win-amd64-3.7\surprise
copying surprise_main_.py -> build\lib.win-amd64-3.7\surprise
creating build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\search.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\split.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection\validation.py -> build\lib.win-amd64-3.7\surprise\model_selection
copying surprise\model_selection_init_.py -> build\lib.win-amd64-3.7\surprise\model_selection
creating build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\algo_base.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\baseline_only.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\knns.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\predictions.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\random_pred.py -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms_init_.py -> build\lib.win-amd64-3.7\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.7\surprise
copying surprise\similarities.pyx -> build\lib.win-amd64-3.7\surprise
copying surprise\prediction_algorithms\co_clustering.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\matrix_factorization.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\optimize_baselines.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\slope_one.c -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\co_clustering.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\matrix_factorization.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\optimize_baselines.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
copying surprise\prediction_algorithms\slope_one.pyx -> build\lib.win-amd64-3.7\surprise\prediction_algorithms
running build_ext
building 'surprise.similarities' extension
Traceback (most recent call last):
File "
note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure
× Encountered error while trying to install package. ╰─> scikit-surprise
note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. WARNING: Ignoring invalid distribution -atplotlib (c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages) WARNING: Ignoring invalid distribution -atplotlib (c:\users\esysss\appdata\local\programs\python\python37\lib\site-packages)
Sorry @esysss I'm not sure what's going on. Looks like your environment might not be properly setup (see the -atplotlib errors)
I had the same issue. Solved it with:
conda install -c conda-forge scikit-surprise