python遇坑总结
gaussian-opacity-fields
问题:报错太长,无法定位到错误位置:
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1900, in _run_ninja_build
subprocess.run(
File "D:\miniconda3\envs\gaussian_splatting\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\setup.py", line 17, in <module>
setup(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 104, in setup
return distutils.core.setup(**attrs)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
return run_commands(dist)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
dist.run_commands()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
self.run_command(cmd)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
super().run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\wheel\bdist_wheel.py", line 368, in run
self.run_command("build")
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
super().run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
self.run_command(cmd_name)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
super().run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 91, in run
_build_ext.run(self)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
self.build_extensions()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 843, in build_extensions
build_ext.build_extensions(self)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 479, in build_extensions
self._build_extensions_serial()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 505, in _build_extensions_serial
self.build_extension(ext)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 252, in build_extension
_build_ext.build_extension(self, ext)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 560, in build_extension
objects = self.compiler.compile(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 815, in win_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1573, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1916, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
解决方案:python setup.py build_ext --inplace -j1
原因:这样可以取消并行编译,更容易获得报错信息。
=================================================
问题:
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(983): error: identifier "u_int16_t" is undefined
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(983): error: expected a ";"
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1145): error: identifier "u_int32_t" is undefined
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1145): error: expected a ")"
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1158): warning #2361-D: invalid narrowing conversion from "double" to "float"
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1158): warning #2361-D: invalid narrowing conversion from "double" to "float"
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(845): warning #177-D: variable "depth_input" was declared but never referenced
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(848): warning #177-D: variable "ray" was declared but never referenced
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(873): warning #177-D: variable "T" was declared but never referenced
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(879): warning #550-D: variable "contributed_ids" was set but never used
detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here
4 errors detected in the compilation of "C:/Users/D-Blue/Desktop/cloth2/reference_model/gaussian-opacity-fields/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu".
forward.cu
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1900, in _run_ninja_build
subprocess.run(
File "D:\miniconda3\envs\gaussian_splatting\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\setup.py", line 17, in <module>
setup(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 104, in setup
return distutils.core.setup(**attrs)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
return run_commands(dist)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
dist.run_commands()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
self.run_command(cmd)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
super().run_command(command)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 91, in run
_build_ext.run(self)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
self.build_extensions()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 843, in build_extensions
build_ext.build_extensions(self)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 477, in build_extensions
self._build_extensions_parallel()
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 500, in _build_extensions_parallel
fut.result()
File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\_base.py", line 446, in result
return self.__get_result()
File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\_base.py", line 391, in __get_result
raise self._exception
File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 252, in build_extension
_build_ext.build_extension(self, ext)
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 560, in build_extension
objects = self.compiler.compile(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 815, in win_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1573, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1916, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
解决方案:替换所有的 u_int16_t 和 u_int32_t 为标准的 uint16_t 和 uint32_t。
原因:u_int16_t 和 u_int32_t 是 Linux/Unix 系统中常用的类型定义,但在 Windows 系统中通常不支持。
================
问题:
C:\ProgramData\Anaconda3\lib\site-packages\torch\include\pybind11\cast.h(1429): error: too few arguments for template template parameter "Tuple"
detected during instantiation of class "pybind11::detail::tuple_caster<Tuple, Ts...> [with Tuple=std::pair, Ts=<T1, T2>]"
(1507): here
C:\ProgramData\Anaconda3\lib\site-packages\torch\include\pybind11\cast.h(1503): error: too few arguments for template template parameter "Tuple"
detected during instantiation of class "pybind11::detail::tuple_caster<Tuple, Ts...> [with Tuple=std::pair, Ts=<T1, T2>]"
(1507): here
编译pytorch3d时遇到这个问题。
解决方案:https://github.com/facebookresearch/pytorch3d/issues/1024
修改 torch\include\pybind11\cast.h: Add an empty tuple_caster class and move two templates before the detailed tuple_caster class.
// Base implementation for std::tuple and std::pair template <template <typename...> class Tuple, typename... Ts> class tuple_caster;
template <typename T1, typename T2> class type_caster<std::pair<T1, T2>> : public tuple_caster<std::pair, T1, T2> {};
template <typename... Ts> class type_caster<std::tuple<Ts...>> : public tuple_caster<std::tuple, Ts...> {};
template <template <typename...> class Tuple, typename... Ts> class tuple_caster { (the rest class is identical)
原因:visual studio导致的兼容性问题。
===================
问题:
UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。
解决方案:把C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64添加到系统路径
===========
windows无法安装opendr
Can opendr install on Window 10? · Issue #41 · mattloper/opendr · GitHub
===========
问题:pycharm debug时报错 Process finished with exit code -1073741819 (0xC0000005)
解决方案:设置环境变量PYDEVD_USE_CYTHON=NO
===========
问题:使用wsl2中的conda环境时,open3d无法显示图像,报错:
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) libGL error: failed to load driver: swrast [Open3D WARNING] GLFW Error: GLX: Failed to create context: GLXBadFBConfig [Open3D WARNING] Failed to create window。
解决方案:
关闭防火墙
sudo apt update
sudo apt install libgl1-mesa-dri libgl1-mesa-glx
sudo apt install mesa-utils
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
export LIBGL_ALWAYS_INDIRECT=1
conda install -c conda-forge libstdcxx-ng
###后面在pycharm上又不好使了,解决方案如下:
sudo ln -s /usr/lib/x86_64-linux-gnu/dri /usr/lib/dri
先更新wsl环境:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mesa-utils
在pycharm换件变量中加上
LIBGL_ALWAYS_INDIRECT=0;DISPLAY=172.31.240.1:0.0
ps:这里display需要在wsl中查,echo $DISPLAY
前面的解决了:[Open3D WARNING] GLFW Error: GLX: Failed to create context: GLXBadFBConfig
后面的解决了:[Open3D WARNING] GLFW Error: X11: The DISPLAY environment variable is missing
==========================
问题:下面这段代码卡住
from torch.utils.cpp_extension import load
_backend = load(name="inplace_abn",
extra_cflags=["-O3"],
sources=[path.join(_src_path, f) for f in [
"inplace_abn.cpp",
"inplace_abn_cpu.cpp",
"inplace_abn_cuda.cu",
"inplace_abn_cuda_half.cu"
]],
extra_cuda_cflags=["--expt-extended-lambda"],
verbose=True)
并且提示:Freezing at “Using /home/user/.cache/torch_extensions as PyTorch extensions root…”
解决方案:rm -r /home/user/.cache/torch_extensions
=====
问题:mobaxterm不显示可视化文件浏览器
方案:https://stackoverflow.com/questions/70097575/how-to-add-graphic-file-explorer-in-mobaxterm
=======
pycharm debug贼慢,一直显示Collecting data...
解决方案:File->Setting->Build,Execution,Deployment->Python Debugger。把Gevent compatible勾选上。
======
问题:wsl中open3d无法可视化。报错:
libGL error: MESA-LOADER: failed to open swrast: /home/wrk226/anaconda3/envs/mvadapter/lib/python3.10
/site-packages/numpy/_core/../../../../libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required b
y /lib/x86_64-linux-gnu/libLLVM-15.so.1) (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:
/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
[Open3D WARNING] GLFW Error: GLX: Failed to create context: GLXBadFBConfig
[Open3D WARNING] Failed to create window
解决方案:
sudo apt update
sudo apt upgrade gcc libstdc++6
conda install -c conda-forge libstdcxx-ng
更多推荐
所有评论(0)