我已经从ubuntu 16.04
清理了opencv 3.1run "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
显然,它试图使用以前的版本,似乎有些东西已被缓存,我是对的?如何解决这个问题?
答案 0 :(得分:0)
我得到了完全相同的问题。现在改过来了。 您可以在python中检查模块路径:
import sys
print(sys.path)
这将显示你在执行导入cv2时python正试图捕获cv2.so。 然后检查打印结果中提到的所有文件夹,如果没有旧的cv2.so或符号链接,那么取代您尝试使用的新文件夹。
可能只是在'。'当前文件夹为'。'是syspath的一部分。