安装torch-sparse提示找不到torch模块,但torch已正常安装
安装torch-sparse时出现
ModuleNotFoundError: No module named 'torch'的问题 问题背景
- 尝试安装指定仓库的旧版本依赖,使用Python 3.9创建虚拟环境,按要求先安装torch,再安装torch-scatter(安装成功)和torch-sparse(始终失败)
- 升级setuptools到最新版本后仍报错;在全新Python 3.12 + torch 2.5.1环境中,使用官方推荐命令安装后仍出现相同错误
报错信息
Collecting torch-sparse==0.6.15 Downloading torch_sparse-0.6.15.tar.gz (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 1.1 MB/s eta 0:00:00 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 ╰─> [17 lines of output] Traceback (most recent call last): File "C:\Users\caleb\Python\graph_transformer_2.venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 389, in <module> main() File "C:\Users\caleb\Python\graph_transformer_2.venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 373, in main json_out["return_val"] = hook(**hook_input["kwargs"]) File "C:\Users\caleb\Python\graph_transformer_2.venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 143, in get_requires_for_build_wheel return hook(config_settings) File "C:\Users\caleb\AppData\Local\Temp\pip-build-env-jv3dantt\overlay\Lib\site-packages\setuptools\build_meta.py", line 334, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=[]) File "C:\Users\caleb\AppData\Local\Temp\pip-build-env-jv3dantt\overlay\Lib\site-packages\setuptools\build_meta.py", line 304, in _get_build_requires self.run_setup() File "C:\Users\caleb\AppData\Local\Temp\pip-build-env-jv3dantt\overlay\Lib\site-packages\setuptools\build_meta.py", line 522, in run_setup super().run_setup(setup_script=setup_script) File "C:\Users\caleb\AppData\Local\Temp\pip-build-env-jv3dantt\overlay\Lib\site-packages\setuptools\build_meta.py", line 320, in run_setup exec(code, locals()) File "<string>", line 8, in <module> ModuleNotFoundError: No module named 'torch' [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.
当前环境信息
- Python版本:
$ python --version Python 3.9.0 (.venv)
- pip版本:
$ python -m pip --version pip 25.0.1 from C:\Users\caleb\Python\graph_transformer_2\.venv\lib\site-packages\pip (python 3.9) (.venv)
- torch安装信息:
$ pip show torch Name: torch Version: 2.6.0 Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration Home-page: https://pytorch.org/ Author: PyTorch Team Author-email: packages@pytorch.org License: BSD-3-Clause Location: c:\users\caleb\python\graph_transformer_2\.venv\lib\site-packages Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions Required-by: PyGCL (.venv)
疑问
问题是否出在setuptools?
解决思路
- 使用预编译轮子安装(优先推荐)
旧版本torch-sparse源码编译时依赖torch,但pip的隔离构建环境默认不包含已安装的torch。直接使用对应版本预编译包,避免源码编译:
# 替换cuXX为你的CUDA版本(如cu118、cu121),CPU版本用cpu pip install torch-sparse==0.6.15 -f https://data.pyg.org/whl/torch-2.6.0+cuXX.html
- 禁用pip隔离构建环境
如果必须源码编译,让pip在当前虚拟环境中构建,而非隔离环境:
pip install torch-sparse==0.6.15 --no-build-isolation
- 降级setuptools版本
最新版setuptools可能与旧版torch-sparse的setup.py不兼容,尝试降级到兼容版本:
pip install setuptools==65.5.0
之后再重新安装torch-sparse
内容的提问来源于stack exchange,提问作者Caleb Stam
相关产品推荐
相关产品推荐

