Homebrew fk my opencv up?

2015-07-03 11:03:06 +08:00
 irainy

>> Original post <<

电脑里面一直有Python+OpenCV,最近两次不明原因的重启,之后突然发现No module named cv2:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2

我的印象里,cv2就是编译好的一个cv2.so,放在Python的sys.path,先查看这个文件是否还在:

sudo find / -name 'cv2.so'
# /usr/local/lib/python2.7/site-packages/cv2.so

再检查是不是系统路径被更改了:

echo $PYTHONPATH
# /usr/local/lib/python2.7/site-packages/:

然后检查Python中的sys.path

import sys
sys.path

结果发现/usr/local/lib/python2.7/site-packages/路径也在,切换到这里之后,发现cv2.so变成了一个软链接:

cd /usr/local/lib/python2.7/site-packages/
ls -lah
# lrwxr-xr-x   1 rainy  admin    66B  7  3 10:30 cv2.so -> ../../../Cellar/opencv/2.4.11_1/lib/python2.7/site-packages/cv2.so
cd ../../../Cellar/opencv
# no such file or directory: ../../../Cellar/opencv

/usr/local/Cellar是Homebrew保存下载包的地方,不清楚什么时候我的cv2.so被替换到这里。无奈只能再用Homebrew安装一次opencv:

brew tap homebrew/science
brew tap --repair
brew install opencv

安装完检验一下:

>>> import cv2

暂时没有时间研究清楚到底发生了什么,虽然相对于自己编译OpenCV的痛苦经历,Homebrew安装起来确实省事不少,可是原本安装好的文件被莫名其妙被替换掉,还是很不爽。

1934 次点击
所在节点    Python
1 条回复
ChangxuBlack
2015-07-05 23:36:43 +08:00
对的,homebrew安装OpenCV会和pip/anaconda安装的OpenCV冲突

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/202997

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX