需求背景
由于不同代码调用的版本不同,在中通过设置不同的路径可以调用不同版本的,见我这篇简书。但在中是在编译时就指定了的版本的,所以中的方法无法迁移到中来,只能另想它法。
解决方案有如下几种
- 通过移动cv2.so文件来实现
由于安装时会绑定,同时会生成cv2.so包(猜想此包可能记录了安装目录),如果想要运行不同版本的时,可以将cv2.so包复制到所要运行的那个python目录下,即可运行。
如:
#python中cv2.so所在位置:/usr/local/lib/python2.7/dist-packages/cv2.so
#OpenCV2.3所在位置:/media/hdd/opencv-2.3.0/build/cv2.so
#将OpenCV2.3所在的cv.so复制进python中
sudo cp /media/hdd/opencv-2.3.0/build/cv2.so /usr/local/lib/python2.7/dist-packages/cv2.so
- 安装不同版本的
可以设置每个绑定的不同,此方法通过设置最为方便。
网友评论