运行旧版Python代码遇GLIBCXX_3.4.30缺失错误求助
解决ImportError: version `GLIBCXX_3.4.30' not found (OpenCV 4.7.0 + Anaconda + Ubuntu 22.04)
方案1:更新conda环境的libstdc++库
- 激活目标conda环境:
conda activate breast - 安装conda-forge提供的新版libstdcxx-ng:
conda install -c conda-forge libstdcxx-ng - 安装完成后直接重新运行代码即可
方案2:让conda环境使用系统自带的libstdc++
Ubuntu 22.04的系统libstdc++已经包含GLIBCXX_3.4.30,替换conda环境的旧库:
- 备份conda环境中的旧库文件:
mv /home/gouda/anaconda3/envs/breast/lib/libstdc++.so.6 /home/gouda/anaconda3/envs/breast/lib/libstdc++.so.6.bak - 创建软链接指向系统库:
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/gouda/anaconda3/envs/breast/lib/libstdc++.so.6 - 验证软链接:
ls -l /home/gouda/anaconda3/envs/breast/lib/libstdc++.so.6,输出应显示指向系统路径 - 重新运行代码测试
方案3:降级OpenCV到兼容版本
如果前两种方法无效,降级OpenCV到对GLIBCXX版本要求更低的版本:
- 激活环境后卸载当前OpenCV:
pip uninstall opencv-python - 安装4.5.x系列的兼容版本:
pip install opencv-python==4.5.5.62 - 确认安装版本:
pip show opencv-python,检查Version字段是否为4.5.5.62 - 重新运行代码
内容的提问来源于stack exchange,提问作者Gouda Ibrahim
相关产品推荐
相关产品推荐

