[解决]问题:diff-gaussian-rasterization死活在AutoDL装不上(新方案)

解决了在AutoDL中无法安装diff-gaussian-rasterization的问题,问题如下:

Looking in indexes: http://mirrors.aliyun.com/pypi/simple Processing ./submodules/diff-gaussian-rasterization Preparing metadata (setup.py) ... done Building wheels for collected packages: diff_gaussian_rasterization 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 ╰─> [330 lines of output] running bdist_wheel running build running build_py creating build/lib.linux-x86_64-cpython-38/diff_gaussian_rasterization copying diff_gaussian_rasterization/__init__.py -> build/lib.linux-x86_64-cpython-38/diff_gaussian_rasterization running build_ext 

。。。。。。

"/root/miniconda3/envs/GaussianDreamerPro/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 557, in build_extension objects = self.compiler.compile( File "/root/miniconda3/envs/GaussianDreamerPro/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 658, in unix_wrap_ninja_compile _write_ninja_file_and_compile_objects( File "/root/miniconda3/envs/GaussianDreamerPro/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1574, in _write_ninja_file_and_compile_objects _run_ninja_build( File "/root/miniconda3/envs/GaussianDreamerPro/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1909, in _run_ninja_build raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension [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

问题如上,最基本的装不上问题。

至于这样的问题我已经提出一种解决方案,详情见:

https://blog.csdn.net/CounterGlew/article/details/142261051?spm=1001.2014.3001.5502

最近不小心AutoDL闲置超14天给我环境搞没了(麻了),于是重新配了个这样的类似环境

首先我用的是cuda11.8,pytorch版本是在虚拟环境里新增了一个2.0.1的版本(AutoDL自带没有这个版本)。我这个是因为复现原文要求所以改的版本,AutoDL原版本应该也没问题

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

 解决方法:

编译过程中无法找到glm/glm.hpp头文件,这是导致diff_gaussian_rasterization模块安装失败的主要原因,具体来说:缺失GLM库:错误信息fatal error: glm/glm.hpp: No such file or directory表明项目依赖的**OpenGL Mathematics (GLM)**库未正确安装或路径未正确配置

简单来说直接安装GLM:

sudo apt-get install libglm-dev  # Ubuntu/Debian系统

或者:

git clone https://github.com/g-truc/glm.git
sudo cp -r glm/glm /usr/local/include/

然后在安装包的时候调整参数:

pip install ./submodules/diff-gaussian-rasterization \
  --global-option="build_ext" \
  --global-option="-I/path/to/glm"

然后我就装上了,希望对大家有所帮助

### 解决 `pip` 安装 ONNX 时出现的 `Failed building wheel` 错误 在 Jetson Nano 或其他设备上安装 ONNX 出现 `Failed building wheel for onnx` 的错误通常是由以下几个原因引起的: #### 原因分析 1. **缺少必要的编译工具链** 编译过程中可能需要 C++ 编译器或其他开发工具,而这些工具未被正确安装。Jetson 设备基于 ARM 架构,某些预构建包可能适用于该架构[^1]。 2. **缺失依赖项** 特定库(如 Protobuf 和 Python 开发头文件)可能是必需的,但在系统中尚未安装。例如,`Protobuf compiler not found` 表明 Protobuf 编译器存在,而 `fatal error: Python.h: 没有那个文件或目录` 则表明 Python 开发头文件丢失。 3. **Python 环境配置当** 如果使用的 Python 版本与目标库版本兼容,也可能引发此类问题。此外,在虚拟环境中运行命令时可能会忽略系统的全局设置[^2]。 --- #### 解决方案 ##### 方法一:手动安装所需依赖并重尝试安装 确保所有必要依赖已正确安装: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install -y python3-dev libprotobuf-dev protobuf-compiler cmake g++ ``` 上述命令会安装 Python 头文件 (`python3-dev`)、Protobuf 库及其编译器 (`libprotobuf-dev`, `protobuf-compiler`) 以及 CMake 和 GCC 工具链。 完成以上操作后,再次执行以下命令来安装 ONNX: ```bash pip install --upgrade pip setuptools wheel pip install onnx ``` 如果仍然失败,则可以考虑方法二。 --- ##### 方法二:使用预构建的 `.whl` 文件 对于特定硬件平台(如 Jetson),官方 PyPI 可能无法提供完全适配的轮子 (wheel),因此可以从第三方资源下载适合的 `.whl` 文件并手动安装。 访问 [Unofficial Windows Binaries](https://www.lfd.uci.edu/~gohlke/pythonlibs/) 页面查找对应于您环境的 ONNX 轮子文件[^3]。注意选择与您的 Python 版本匹配的文件。 假设找到名为 `onnx‑1.14.0‑cp38‑none‑win_amd64.whl` 的文件,将其保存到本地路径 `/path/to/onnx.whl` 后运行如下命令: ```bash pip install /path/to/onnx.whl ``` 此方式绕过了源码编译过程中的潜在问题--- ##### 方法三:通过 Docker 镜像简化部署流程 如果您希望避免复杂的依赖管理,可利用 NVIDIA 提供的 TensorRT 或 DeepStream SDK 中包含 ONNX 支持的容器镜像。这解决了依赖冲突,还提供了优化后的性能表现。 拉取相关镜像并通过以下指令启动容器: ```bash docker pull nvcr.io/nvidia/tensorrt:23.09-py3 docker run --rm -it --runtime=nvidia nvcr.io/nvidia/tensorrt:23.09-py3 bash ``` 进入容器内部验证 ONNX 是否可用: ```python import onnx print(onnx.__version__) ``` --- ### 总结 针对 Jetson 平台上的 `Failed building wheel for onnx` 错误,推荐优先检查基础依赖是否齐全,并视情况采用预构建轮子或者切换至更稳定的容器化解决方案。每种策略均需结合具体场景灵活调整。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值