需求背景
由于不同代码调用的版本不同,在
中通过
设置不同的路径可以调用不同版本的
,见我这篇简书。但在
中是在编译
时就指定了
的版本的,所以
中的方法无法迁移到
中来,只能另想它法。
解决方案有如下几种
- 通过移动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
- 安装不同版本的
可以设置每个绑定的
不同,此方法通过
设置最为方便。