NicolasHug / Surprise

A Python scikit for building and analyzing recommender systems
http://surpriselib.com
BSD 3-Clause "New" or "Revised" License
6.34k stars 1.01k forks source link

path should be string, bytes, os.PathLike or integer, not NoneType #406

Open esysss opened 2 years ago

esysss commented 2 years ago

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 "", line 36, in File "", line 34, in File "C:\Users\Esysss\AppData\Local\Temp\pip-install-rieptijo\scikit-surprise_24943bbf547c45438c23a7ae392d5e87\setup.py", line 140, in ['surprise = surprise.main:main']}, File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\init__.py", line 145, in setup return distutils.core.setup(**attrs) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line 148, in setup dist.run_commands() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 966, in run_commands self.run_command(cmd) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\wheel\bdist_wheel.py", line 188, in run self.run_command('build') File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\build_ext.py", line 84, in run _build_ext.run(self) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 339, in run self.build_extensions() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 448, in build_extensions self._build_extensions_serial() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 473, in _build_extensions_serial self.build_extension(ext) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\build_ext.py", line 205, in build_extension _build_ext.build_extension(self, ext) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 533, in build_extension depends=ext.depends) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils_msvccompiler.py", line 345, in compile self.initialize() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils_msvccompiler.py", line 238, in initialize vc_env = _get_vc_env(plat_spec) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\msvc.py", line 171, in msvc14_get_vc_env return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\msvc.py", line 1620, in return_env if self.vs_ver >= 14 and isfile(self.VCRuntimeRedist): File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\genericpath.py", line 30, in isfile st = os.stat(path) TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType [end of output]

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 "", line 36, in File "", line 34, in File "C:\Users\Esysss\AppData\Local\Temp\pip-install-rieptijo\scikit-surprise_24943bbf547c45438c23a7ae392d5e87\setup.py", line 140, in ['surprise = surprise.main:main']}, File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\init__.py", line 145, in setup return distutils.core.setup(**attrs) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line 148, in setup dist.run_commands() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 966, in run_commands self.run_command(cmd) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\install.py", line 61, in run return orig.install.run(self) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\install.py", line 545, in run self.run_command('build') File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\build_ext.py", line 84, in run _build_ext.run(self) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 339, in run self.build_extensions() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 448, in build_extensions self._build_extensions_serial() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 473, in _build_extensions_serial self.build_extension(ext) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\build_ext.py", line 205, in build_extension _build_ext.build_extension(self, ext) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils\command\build_ext.py", line 533, in build_extension depends=ext.depends) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils_msvccompiler.py", line 345, in compile self.initialize() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\distutils_msvccompiler.py", line 238, in initialize vc_env = _get_vc_env(plat_spec) File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\msvc.py", line 171, in msvc14_get_vc_env return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\msvc.py", line 1620, in return_env if self.vs_ver >= 14 and isfile(self.VCRuntimeRedist): File "C:\Users\Esysss\AppData\Local\Programs\Python\Python37\lib\genericpath.py", line 30, in isfile st = os.stat(path) TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType [end of output]

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)

NicolasHug commented 2 years ago

Sorry @esysss I'm not sure what's going on. Looks like your environment might not be properly setup (see the -atplotlib errors)

AliRezaT96 commented 1 year ago

I had the same issue. Solved it with:

conda install -c conda-forge scikit-surprise