osx El Capitan
Ich möchte die OpenCV3-Serie ausführen und eine neue Python verwenden. Es gibt jedoch viele Dinge, die für die OpenCV2-Serie geschrieben wurden, daher möchte ich auch die OpenCV2-Serie ausführen können. Die OpenCV2-Serie scheint nur mit der Python2-Serie zu funktionieren, daher möchte ich die Ausführung mehrerer Umgebungen ermöglichen. Also habe ich beschlossen, pyenv zu installieren und die Umgebung von dort aus zu ändern.
$ brew install pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
# python3.5.Installieren Sie 1
$ pyenv install 3.5.1
Eingeführt vom Gebräu.
# brew install opencv3 --with-Ich habe versucht, Python3 zu schlagen, aber opencv3 ist Homebrewed/science/Mir wird gesagt, ich soll zu opencv3 wechseln
$ brew install homebrew/science/opencv3 --with-python3
Ich habe den obigen Befehl von Brew eingegeben, aber er funktioniert nicht mit dem folgenden Fehler.
/tmp/opencv3-20161123-64293-17bmzya/opencv-3.1.0/modules/videoio/src/cap_qtkit.mm:46:9: fatal error: 'QTKit/QTKit.h' file not found
#import <QTKit/QTKit.h>
http://qiita.com/masaori/items/0c78fcd58a6c6bf4f655 Dieser Link besagt, dass es in OS X Sierra aufgetreten ist, aber auch in El Capitan. Die Lösung ist vorerst dieselbe. Holen Sie sich eine neue, indem Sie in der Brühoption HEAD angeben. Das Erhalten des KOPFES hat möglicherweise einige andere Commits gemischt, aber an diesem Punkt gibt es keine besonderen Unannehmlichkeiten.
$ brew install homebrew/science/opencv3 --with-python3 --HEAD
Erstellen Sie einen symbolischen Link, um die OpenCV-Datei über pyenv zu lesen
$ ln -s /usr/local/Cellar/opencv3/HEAD-b8c875d_4/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so ~/.pyenv/versions/3.5.1/lib/python3.5/site-packages
Überprüfen Sie, ob es von REPL unten richtig gelesen werden kann
$ python
Python 3.5.1 (default, Nov 7 2016, 22:30:16)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>
Irgendwann wurde das Python2.7-Modul geladen. Wenn OpenCV mit Brew erstellt wird, wird die so-Datei daher in / usr / local / opt / opencv3 / lib / python2.7 / site-packages /
abgelegt, und selbst in der Datei wird sie unter der Prämisse von python2.7 erstellt. Aus diesem Grund habe ich, selbst wenn ich einen symbolischen Link erstellt habe, den folgenden Fehler erhalten und konnte ihn mit Python nicht lesen.
$ python
Python 3.5.1 (default, Nov 7 2016, 22:30:16)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so, 2): Symbol not found: _PyCObject_Type
Referenced from: /usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so
Expected in: flat namespace
in /usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so
>>>
Lösen Sie hier das Problem beim Laden des Moduls http://qiita.com/Asakage/items/690ce9048e708de41166
Wenn Sie die Zeile in "~ / .local / lib / python3.5 / site-packages / homebrew.pth" auskommentieren, wird python3.5 ordnungsgemäß geladen. Es ist nicht bekannt, wann dieser Pfad gelesen wurde. Ich habe pyvenv eingerichtet und einige Dinge getan, die hier nicht geschrieben wurden, also könnte es zu dieser Zeit passiert sein.
Das Erstellen dauert lange und es sind verschiedene Probleme aufgetreten. Daher ist es möglicherweise am schnellsten, OpenCV mit conda zu installieren.
Recommended Posts