2015-10-19 4 views
11

Ich verwende Mac OS X 10.11 (El Capitan). Ich möchte:Installieren von OpenCV 3 für Python 3 auf einem Mac mit Homebrew und Pyenv

  • mein System-Version von Python als Standard beibehalten
  • Python installieren 3.5 daneben
  • OpenCV installieren 3 und die Python-Bindings

Ich installierte pyenv und Python 3.5 von folgende SO Antwort: https://stackoverflow.com/a/18671336/1410871

Ich habe meine Python 3-Installation aktiviert und OpenCV 3 mit Python 3-Unterstützung wie folgt installiert:

pyenv shell 3.5.0 
brew install opencv3 --with-python3 

Aber wenn ich eine IPython Shell starten und importieren cv2, erhalte ich eine Fehlermeldung:

ImportError        Traceback (most recent call last) 
<ipython-input-1-72fbbcfe2587> in <module>() 
----> 1 import cv2 

ImportError: No module named 'cv2' 

warum?

Antwort

12

Beantwortung meiner Frage: Ich muß manuell einen symbolischen Link auf die Shared Object-Datei erstellen und es in dem pyenv Python 3 site-packages Verzeichnis:

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 

Jetzt die Linie import cv2 funktioniert wie in Python erwartet .

2

opencv3 ist Fass nur und nicht verknüpft werden, wenn über Brew

Gehen Sie wie folgt installieren:

$ brew link opencv3 --force 

Dies ist ein kontrollierter Ansatz als von Hand symbolische Links zu schaffen.

Dann werden Sie in der Lage:

$ python3 
import cv2 

Prost

+2

versucht, dies aber nicht für mich arbeiten. Das Importieren von cv2 gibt immer noch "ImportError: Kein Modul namens 'cv2'" zurück –