安装opencv3.3后,导入cv2给出“libopencv_imgcodecs.so.3.1:无法打开共享对象文件”

时间:2017-11-02 09:58:23

标签: python opencv

我已经从ubuntu 16.04

清理了opencv 3.1
run "sudo cat install_manifest.txt | xargs echo sudo rm | sh" 
and rm cv2.so from /usr/lib/python2.7/dist-packages/cv2.so,

手动升级到3.3(cmake / make / make install)然后

sudo ldconfig
run:ldd /usr/lib/python2.7/dist-packages/cv2.so

得到

linux-vdso.so.1 =>  (0x00007ffc85de1000)
    libopencv_hdf.so.3.3 => /usr/lib/x86_64-linux-gnu/libopencv_hdf.so.3.3 (0x00007f605d4bd000)
    libopencv_reg.so.3.3 => /usr/lib/x86_64-linux-gnu/libopencv_reg.so.3.3 (0x00007f605cf8a000)

但在ipython下

  import cv2

给了我:

ImportError: libopencv_imgcodecs.so.3.1: cannot open shared object file: No such file or directory

显然,它试图使用以前的版本,似乎有些东西已被缓存,我是对的?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我得到了完全相同的问题。现在改过来了。 您可以在python中检查模块路径:

import sys
print(sys.path)

这将显示你在执行导入cv2时python正试图捕获cv2.so。 然后检查打印结果中提到的所有文件夹,如果没有旧的cv2.so或符号链接,那么取代您尝试使用的新文件夹。

可能只是在'。'当前文件夹为'。'是syspath的一部分。