# 解决 Conda 使用中 GLIBCXX_3.4.29 not found 问题的三种方法
问题描述
在使用 Conda 时,可能会遇到以下错误:
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/你的用户名/anaconda3/envs/某个.so文件)
该错误通常是因为系统库与 Conda 环境中的库不匹配导致的。
AMD ROCm提供的一种解决方案(我比较推荐)
When using a Conda environment, ImportError: version 'GLIBCXX_3.4.30' not found is likely to occur.
Upgrade GCC for Conda using the following command.
解决方法
方法1:替换 libstdc++.so.6 软连接
该方法涉及修改 /lib 路径下的文件,但在服务器环境中可能不太方便。因此,该方法在实际操作中可能不太适用。
方法2:降低 scipy 版本
在某些情况下,降低 scipy 的版本可以解决问题。例如,在安装 mmdection 时,这种方法被证明是有效的。但这种方法可能在其他场景下不适用。
方法3:设置环境变量以使用 Conda 环境中的 libstdc++.so.6
- 检查 Conda 环境中的
libstdc++.so.6: -
打开 Conda 环境的
lib目录: -
检查是否存在
libstdc++.so.6文件,并验证其版本: -
设置环境变量:
-
如果 Conda 环境中存在所需的
libstdc++.so.6,可以通过设置LD_LIBRARY_PATH环境变量来让程序使用该文件: -
验证设置:
- 重新运行程序,检查问题是否已解决。
总结
- 方法1:适用于可以修改系统库的情况,但在服务器环境中可能不太方便。
- 方法2:适用于特定库版本冲突的情况,但可能不适用于所有场景。
- 方法3:通过设置环境变量,让程序使用 Conda 环境中的库,通常是最通用且有效的解决方案。
根据具体环境和需求选择合适的方法来解决问题。
Ref
https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-pytorch.html https://blog.csdn.net/wahaha987656789/article/details/137023165