【报错】使用 AutoDL 复现 GaussianEditor 时引用 3D Gaussian Splatting 调用simple_knn 时遇到 ModuleNotFoundError: No module named ‘simple_knn‘
报错:
【原因】
一开始以为是版本问题,于是将所有可能的版本都尝试了 (from versions: 0.1, 0.2, 0.3, 0.5, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6)
,无果;
随后尝试在用户级别而不是系统级别安装:pip install --user simple_knn
,还是不行;
又去检查了依赖项:pip show simple-knn
,也没有问题;
清理缓存后再安装:pip cache purge
,也没能成功;
最后怀疑模块没有在正确位置:ls /root/miniconda3/lib/python3.8/site-packages/simple_knn
,查询后发现 site-packages 文件夹下果然没有 simple_knn:
打开文件夹后发现是命名大小写问题:
【解决办法】原以为修改文件夹名称就可以万事大吉,结果又发现找不到模块:
查看 requirements.txt,才发现需要安装的 simple-knn 模块引用的自己的 submodule:
直接 pip install gaussiansplatting/submodules/simple-knn
即可,安装完成后的 simple-knn-0.0.0.dist-info 文件夹下的 json 文件指向 submodules/simple-knn 文件夹: