无法安装scikit-surprise的报错原因及修复方案
问题
尝试执行pip install scikit-surprise时出现如下报错:
pip install scikit-surprise Collecting scikit-surprise Using cached scikit-surprise-1.1.3.tar.gz (771 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [50 lines of output] <string>:65: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** C:\Users\hp\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe: No module named pip Traceback (most recent call last): File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\installer.py", line 101, in _fetch_build_eggs_no_warn subprocess.check_call(cmd) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '["C:\\\\Users\\\\hp\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\\\python.exe", "-m", "pip", "--disable-pip-version-check", "wheel", "--no-deps", "-w", "C:\\\\Users\\\\hp\\\\AppData\\\\Local\\\\Temp\\\\tmp8dw2sisl", "--quiet", "numpy>=1.17.3"]' returned non-zero exit status 1. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\hp\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\Users\hp\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "C:\Users\hp\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\build_meta.py", line 355, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in _get_build_requires self.run_setup() File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\build_meta.py", line 507, in run_setup super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup exec(code, locals()) File "<string>", line 65, in <module> File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\dist.py", line 908, in fetch_build_eggs return _fetch_build_eggs(self, requires) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\installer.py", line 38, in _fetch_build_eggs resolved_dists = pkg_resources.working_set.resolve( File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\pkg_resources\__init__.py", line 829, in resolve dist = self._resolve_dist( File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\pkg_resources\__init__.py", line 865, in _resolve_dist dist = best[req.key] = env.best_match( File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\pkg_resources\__init__.py", line 1135, in best_match return self.obtain(req, installer) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\pkg_resources\__init__.py", line 1147, in obtain return installer(requirement) File "C:\Users\hp\AppData\Local\Temp\pip-build-env-ze6iu_ib\overlay\Lib\site-packages\setuptools\installer.py", line 103, in _fetch_build_egg_no_warn raise DistutilsError(str(e)) from e distutils.errors.DistutilsError: Command '["C:\\\\Users\\\\hp\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\\\python.exe", "-m", "pip", "--disable-pip-version-check", "wheel", "--no-deps", "-w", "C:\\\\Users\\\\hp\\\\AppData\\\\Local\\\\Temp\\\\tmp8dw2sisl", "--quiet", "numpy>=1.17.3"]' returned non-zero exit status 1. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. PS D:\COC\Scabing\Reco project>
报错原因
- 核心问题:当前使用的Windows商店版Python未安装pip,导致安装scikit-surprise时无法自动获取依赖numpy。
- 次要问题:setuptools的旧版安装器已被弃用,系统提示需使用PEP 517标准的安装方式。
修复方案
方案1:修复当前Python环境的pip
- 打开PowerShell,执行命令重新安装并升级pip:
python -m ensurepip --upgrade
- 使用PEP 517方式安装scikit-surprise:
pip install scikit-surprise --use-pep517
方案2:改用独立Python版本(推荐)
Windows商店版Python存在权限和路径兼容性问题,建议下载安装Python官方独立版本(下载时务必勾选"Add Python to PATH"选项),安装完成后直接执行:
pip install scikit-surprise
方案3:预安装依赖后再安装
若坚持使用当前环境,先手动安装numpy依赖:
# 确保pip可用 python -m ensurepip --upgrade # 安装指定版本的numpy pip install numpy>=1.17.3 # 安装scikit-surprise pip install scikit-surprise --use-pep517
内容的提问来源于stack exchange,提问作者محمد
相关产品推荐
相关产品推荐

