You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入spconv.pytorch遇TensorView编译错误求助

问题

导入spconv.pytorch时出现TensorView相关编译错误,核心表现为编译过程中找不到tensorview/pybind_utils.h、tensorview/core/all.h等头文件,最终导致ninja构建失败。

环境信息:

  • Python 3.10
  • CUDA 11.7
  • spconv 2.3.6
  • 已尝试安装tensorview 0.4.0、0.2.0版本,重新安装spconv后问题仍未解决

错误输出:

FAILED: /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h.gch 
g++ -MMD -MT /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h.gch -MF /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h.gch.d -I "/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include" -I "/usr/local/lib/python3.10/dist-packages/pybind11/include" -I "/usr/include/python3.10" -I "/usr/local/cuda/include" -I "/usr/local/lib/python3.10/dist-packages/include" -O3 -std=c++14 -fPIC -x c++-header -DTV_CUDA -c /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h -o /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h.gch
/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2:10: fatal error: tensorview/pybind_utils.h: No such file or directory
    2 | #include <tensorview/pybind_utils.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/39] [GCC][c++/pch]/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h.gch
FAILED: /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h.gch 
g++ -MMD -MT /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h.gch -MF /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h.gch.d -I "/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include" -I "/usr/local/lib/python3.10/dist-packages/pybind11/include" -I "/usr/include/python3.10" -I "/usr/local/lib/python3.10/dist-packages/include" -I "/usr/local/cuda/include" -O3 -std=c++14 -fPIC -x c++-header -DTV_CUDA -c /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h -o /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h.gch
/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
In file included from /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/csrc/arrayref/ArrayPtr.h:3:
/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/common/TensorViewCPU.h:3:10: fatal error: tensorview/core/all.h: No such file or directory
    3 | #include <tensorview/core/all.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/39] [GCC][c++]/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o
FAILED: /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o 
g++ -MMD -MT /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o -MF /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o.d -I "/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include" -I "/usr/local/lib/python3.10/dist-packages/pybind11/include" -I "/usr/include/python3.10" -I "/usr/local/cuda/include" -I "/usr/local/lib/python3.10/dist-packages/include" -O3 -std=c++14 -fPIC -DTV_CUDA -c /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc -o /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o
In file included from /usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
/usr/local/lib/python3.10/dist-packages/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2:10: fatal error: tensorview/pybind_utils.h: No such file or directory
    2 | #include <tensorview/pybind_utils.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
<ipython-input-39-0c1e6eb5644d> in <cell line: 1>()
----> 1 import spconv.pytorch as spconv

7 frames
/usr/local/lib/python3.10/dist-packages/ccimport/buildtools/writer.py in build_simple_ninja(target, build_dir, sources, build_meta, target_filename, suffix_to_compiler, out_root, verbose, shared, pch_to_sources, pch_to_include, objects_folder, compiler_to_path, linker_to_path, source_meta, linker)
   1107     proc.wait()
   1108     if proc.returncode:
-> 1109         raise subprocess.CalledProcessError(proc.returncode, cmds)
   1110 
   1111     no_work_to_do = False

CalledProcessError: Command '["ninja"]' returned non-zero exit status 1.    

解决方案

  • 安装版本匹配的tensorview:spconv 2.3.6需搭配tensorview 0.5.0版本执行以下命令安装:
    pip install tensorview==0.5.0
    
  • 手动添加头文件路径:若安装后仍找不到头文件,将tensorview的include目录添加到编译环境变量中:
    export C_INCLUDE_PATH=/usr/local/lib/python3.10/dist-packages/tensorview/include:$C_INCLUDE_PATH
    export CPLUS_INCLUDE_PATH=/usr/local/lib/python3.10/dist-packages/tensorview/include:$CPLUS_INCLUDE_PATH
    
  • 清理缓存后重新安装spconv:卸载现有相关包,清理缓存后安装对应CUDA版本的预编译包:
    pip uninstall -y spconv cumm tensorview
    rm -rf ~/.cache/pip
    pip install spconv-cu117==2.3.6
    
  • 检查gcc版本兼容性:确保gcc版本在7.x~9.x范围内,过高版本会导致C++14编译问题,可通过gcc --version查看,不符则切换到兼容版本。

内容的提问来源于stack exchange,提问作者Sharath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:05:58