导入CV2上的C ++错误,Tensorflow Ubuntu AMI版本4

时间:2018-02-14 00:48:45

标签: python tensorflow amazon-ec2 anaconda

追踪(最近一次呼叫最后一次):

文件" ./ src / train.py",第9行,in     import cv2

ImportError:/home/ubuntu/anaconda3/envs/tensorflow_p27/bin/../lib/libstdc++.so.6:版本号`CXXABI_1.3.8'未找到(需要/home/ubuntu/anaconda3/envs/tensorflow_p27/lib/python2.7/site-packages /../../././ libicui18n.so.58)

环境:来源激活tensorflow_p27(p3.2xLarge实例)

嗨,

我正在尝试运行train.py函数,它在"导入CV2"。

时给出了错误。

我没有更新代码,环境或系统以避免任何冲突。

另外,我已经尝试过做一个" sudo apt-get upgrade"问题仍然存在。

我执行了" conda update --all"并再次尝试,但无济于事。

我无法在命令的此语句中训练我的模型作为系统错误。

相同的脚本正在处理P2.xlarge实例而没有任何错误。

我尝试过StackOverFlow和google搜索无济于事。 任何帮助深表感谢。

由于

1 个答案:

答案 0 :(得分:0)

由于Ubuntu系统版本,anaconda版本和libstdc ++。so.6文件的tensorflow_p27环境版本之间的版本冲突而发生冲突。

最简单的诊断方法是

strings /home/ubuntu/anaconda3/envs/tensorflow_p27/bin/../lib/libstdc++.so.6 | grep CXXABI

这应该显示TF环境中可用的CXXABI版本。

同样运行

strings /usr/local/lib/libstdc++.so.6 | grep CXXABI 

你应该看到版本,在这种情况下1.3.8可用。

最终解决方案来自

ln -svf <path-to-system-libstdc++.so.6> <dest-path-to-env-libstdc++.so.6>

此解决方案也适用于其他lib-XYZABC(例如libgomp GOMP-4.0)错误。将anaconda打包到环境中,独立于张量流选择某些版本的库,可能是问题的根本原因。

希望有所帮助

由于