> 技术文档 > 3DGS,OASIm等项目安装diff-gaussian-rasterization等子模块错误解决集合_windows安装diff-gaussian-rasterization

3DGS,OASIm等项目安装diff-gaussian-rasterization等子模块错误解决集合_windows安装diff-gaussian-rasterization

目录

前言

关键点1:安装visual studio 2022

关键点2:修改torch/util目录下的cpp_extension.py的一行代码更改掉

关键点3:glm包可能没有下载下来

出现过的报错以及运行成功图:

后话以及参考博客:


前言

windows下运行3D Gaussian splatting等相关项目大概率需要用到diff-gaussian-rasterization这个模块,但是这个模块的安装非常容易出错,本人debug了很久,为了防止以后再遇到,特此记录

下载地址:

diff-gaussian-rasterization

graphdeco-inria/diff-gaussian-rasterizationhttps://github.com/graphdeco-inria/diff-gaussian-rasterization

simple-knn:KERBL Bernhard / simple-knn · GitLab

关键点1:安装visual studio 2022

安装visual studio2022的时候,勾选了桌面开发工具之后,其实默认用的最新的编译器,但是这个模块的安装其实用最新的编译器是会报错的,所以得勾选2017的编译器,并设置相关的环境变量为如下:

C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64

我是这三个都下了:

然后发现了2017的版本可以顺利解决报错的问题

关键点2:修改torch/util目录下的cpp_extension.py的一行代码更改掉

环境中,把torch包的util文件夹下cpp_extension.py的一行代码更改掉

self.use_ninja = kwargs.get(‘use_ninja’, True)

更改成

self.use_ninja = kwargs.get(‘use_ninja’, False)

修改后执行安装代码即可成功安装

关键点3:glm包可能没有下载下来

像这样的报错:

就是缺了glm包,去到这个地方:glm下载地址下载相关文件然后放到对应目录下,如下所示:

glm目录位置

对于Ubuntu系统

去这个链接的github网站下载压缩包:https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0

下载压缩包,到项目的目录下面,解压缩,然后cd进入diff文件目录下:

sudo apt-get install libglm-devpython setup.py install 

出现过的报错以及运行成功图:

2025-5-28update:

=========================================================================

最近跑一个oasim的渲染器,成功安装了

oasim) ➜ diff-gaussian-rasterization-9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0 pip install .Processing /home/cyberbus/xgh/oasim/submodules/diff-gaussian-rasterization-9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0 Preparing metadata (setup.py) ... doneBuilding wheels for collected packages: diff_gaussian_rasterization DEPRECATION: Building \'diff_gaussian_rasterization\' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of \'diff_gaussian_rasterization\'. Discussion can be found at https://github.com/pypa/pip/issues/6334 Building wheel for diff_gaussian_rasterization (setup.py) ... done Created wheel for diff_gaussian_rasterization: filename=diff_gaussian_rasterization-0.0.0-cp39-cp39-linux_x86_64.whl size=470268 sha256=1d54ff4c21118cba9eb970f881bed1104a00a009f391e61462896bf6dc3030ea Stored in directory: /home/cyberbus/.cache/pip/wheels/a0/d9/1a/2b47c8f283fce5fa89b17a11a9a008e818f255f7a8e1fc340eSuccessfully built diff_gaussian_rasterizationInstalling collected packages: diff_gaussian_rasterizationSuccessfully installed diff_gaussian_rasterization-0.0.0

然而运行的时候还是会报错

 raster_settings = GaussianRasterizationSettings(TypeError: () missing 1 required positional argument: \'antialiasing\'

查了很多博客,说的是没安装最新版本,但确实安装的都是那些博主推荐的链接里的版本,不知道怎么回事.....

于是观察这个报错本身,缺少这个参数,那我们把它补上就好了,直接一个

raster_settings = GaussianRasterizationSettings( image_height=int(viewpoint_camera.height), image_width=int(viewpoint_camera.width), tanfovx=tanfovx, tanfovy=tanfovy, bg=settings.bg_color if env_map is not None else torch.zeros(3, device=\"cuda\"), scale_modifier=settings.scaling_modifier, viewmatrix=viewpoint_camera.transformed_w2c.transpose(0, 1).cuda(), projmatrix=viewpoint_camera.transformed_full_proj_transform.transpose(0, 1).cuda(), sh_degree=pc.active_sh_degree, campos=torch.tensor(viewpoint_camera.transformed_position, dtype=torch.float32, device=\"cuda\"), prefiltered=False, debug=settings.debug, antialiasing=True # 添加这一行 )

然后就不会报错了!

2025-5-29update 不同类型的diff-gaussian-rasterization

我的diff-gaussian-rasterization报错解决了

之前一直纠结的是:常用的diff-gaussian-rasterization

但是在用pvg建模的时候,这个方法它重新自己写了一个diff-gaussian-rasterization,链接在这:

GitHub - SuLvXiangXin/diff-gaussian-rasterization

所以需要下的其实是这个版本的GitHub - SuLvXiangXin/diff-gaussian-rasterization

安装方法相同!!

===============================我是分割线==================================

值得一提的是下面这个报错,是我在没有启动环境的时候直接pip install .,然后报这个错,不知道是什么原因,因为确实设置了环境变量,如果有知道的可以联系我,非常感谢!!

Building wheel for diff_gaussian_rasterization (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [16 lines of output] running bdist_wheel running build running build_py creating build creating build\\lib.win-amd64-cpython-310 creating build\\lib.win-amd64-cpython-310\\diff_gaussian_rasterization copying diff_gaussian_rasterization\\__init__.py -> build\\lib.win-amd64-cpython-310\\diff_gaussian_rasterization running build_ext building \'diff_gaussian_rasterization._C\' extension creating build\\temp.win-amd64-cpython-310 creating build\\temp.win-amd64-cpython-310\\Release creating build\\temp.win-amd64-cpython-310\\Release\\cuda_rasterizer \"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.8\\bin\\nvcc\" -c cuda_rasterizer/backward.cu -o build\\temp.win-amd64-cpython-310\\Release\\cuda_rasterizer/backward.obj -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\lib\\site-packages\\torch\\include -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\lib\\site-packages\\torch\\include\\torch\\csrc\\api\\include -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\lib\\site-packages\\torch\\include\\TH -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\lib\\site-packages\\torch\\include\\THC \"-IC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.8\\include\" -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\include -IC:\\Users\\79216\\.conda\\envs\\gs-avatar\\Include -I\\targets\\x64 -Xcudafe --diag_suppress=dll_interface_conflict_dllexport_assumed -Xcudafe --diag_suppress=dll_interface_conflict_none_assumed -Xcudafe --diag_suppress=field_without_dll_interface -Xcudafe --diag_suppress=base_class_has_different_dll_interface -Xcompiler /EHsc -Xcompiler /wd4190 -Xcompiler /wd4018 -Xcompiler /wd4275 -Xcompiler /wd4267 -Xcompiler /wd4244 -Xcompiler /wd4251 -Xcompiler /wd4819 -Xcompiler /MD -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -IC:\\Users\\79216\\Desktop\\work\\GaussianAvatar\\submodules\\diff-gaussian-rasterization\\third_party/glm/ --allow-unsupported-compiler -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 --use-local-env C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.8\\include\\crt/host_config.h(231): fatal error C1083: 无法打开包括文件: “crtdefs.h”: No such file or directory backward.cu error: command \'C:\\\\Program Files\\\\NVIDIA GPU Computing Toolkit\\\\CUDA\\\\v11.8\\\\bin\\\\nvcc\' failed with exit code 2 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for diff_gaussian_rasterization Running setup.py clean for diff_gaussian_rasterization Failed to build diff_gaussian_rasterization ERROR: Could not build wheels for diff_gaussian_rasterization, which is required to install pyproject.toml-based projects

后话以及参考博客:

总之就是解决起来一波n折,加油吧

1.安装pytorch3d遇到的问题记录_pytorch3d安装失败-CSDN博客

2.Windows上3D Gaussian splatting运行子模块报错解决方法_windows安装diff-gaussian-rasterization-CSDN博客