我正在运行Mac OS X 10.11(El Capitan)。我要:
- 保持我的系统版本的Python作为默认值
- 与它一起安装Python 3.5
- 安装OpenCV 3和Python绑定
我安装了 pyenv
和Python 3.5遵循这个SO答案: https://stackoverflow.com/a/18671336/1410871
我激活了我的Python 3安装并安装了支持Python 3的OpenCV 3,如下所示:
pyenv shell 3.5.0
brew install opencv3 --with-python3
但是当我启动一个IPython shell并导入时 cv2
,我收到一个错误:
ImportError Traceback (most recent call last)
<ipython-input-1-72fbbcfe2587> in <module>()
----> 1 import cv2
ImportError: No module named 'cv2'
为什么?
回答我自己的问题:我必须手动创建共享对象文件的符号链接并将其放在pyenv Python 3 site-packages目录中:
ln -s /usr/local/opt/opencv3/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so ~/.pyenv/versions/3.5.0/lib/python3.5/site-packages/cv2.so
现在行了 import cv2
在Python中按预期工作。
opencv3只是keg,在通过Brew安装时不会链接
请执行下列操作:
$ brew link opencv3 --force
这是一种比手工创建符号链接更受控制的方法。
然后你就能够:
$ python3
import cv2
干杯
回答我自己的问题:我必须手动创建共享对象文件的符号链接并将其放在pyenv Python 3 site-packages目录中:
ln -s /usr/local/opt/opencv3/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so ~/.pyenv/versions/3.5.0/lib/python3.5/site-packages/cv2.so
现在行了 import cv2
在Python中按预期工作。
opencv3只是keg,在通过Brew安装时不会链接
请执行下列操作:
$ brew link opencv3 --force
这是一种比手工创建符号链接更受控制的方法。
然后你就能够:
$ python3
import cv2
干杯