OpenCV Python OSX - PullRequest
       8

OpenCV Python OSX

15 голосов
/ 01 мая 2011

(Шаг 1)

Я пытаюсь заставить openCV запускаться с python на моем Mac с помощью установки MacPorts http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port,, а также пытаюсь следовать Руководство Petite Geek :

sudo port -v install opencv +python26

Работает около 10 минут без ошибок.

(Шаг 2)

Iскачать исходные и демонстрационные файлы ctypes-opencv .Я перехожу в каталог src и запускаю:

sudo python setup.py install

Я вижу, как 50 строк почти во всей форме: copying ... -> ..., что выглядит хорошо для меня.Здесь нет ошибок.

(Шаг 3)

Я добавляю export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib в конец моего ~/.profile.

(Шаг 4)

Я открываю новый терминал, чтобы проверить мою установку.Из моей домашней папки:

$ python

Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv
>>> 

Не работает.


Я читаю где-то , что opencv устанавливает привязки python со стандартной версией python для OSX,и я, вероятно, использую версию не по умолчанию, но эта информация не для меня.

Ответы [ 4 ]

40 голосов
/ 22 мая 2011

Я некоторое время боролся с Python на Mac.Вот как я наконец (и легко!) Это установил.Удалите все, что у вас есть на Python.Вероятно, они будут расположены по адресу /Library/Frameworks/Python.Framework и / opt / local / var / macports / software / py26 *

Первая загрузка Python с Macports.

sudo port install python27

Затем убедитесь, что ваша система использует эту версию с:

sudo port select --set python python27

Следующая установка numpy с:

sudo port install py27-numpy

Теперь установите opencv:

sudo port install opencv +python27

Теперь отредактируйте ваш ~ / .bash_profile с помощью:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.bash_profile

или

open -t ~/.bash_profile

и добавьте строку:

export PYTHONPATH=/opt/local/var/macports/software/opencv/2.2.0_0+python27/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH

или гдекогда-нибудь ваша версия файла cv.so скрыта ....

Теперь перезапустите терминал и попробуйте:

%python
>>>import cv

Я использую Netbeans для opencv и python, и он работает очень хорошо,Удачи.

4 голосов
/ 29 июля 2014
$ brew search opencv
        homebrew/science/opencv
$ brew install homebrew/science/opencv

после установки появляется предупреждение:

==> Предупреждения Если вам нужен Python для поиска установленных пакетов сайта:

mkdir -p ~ / Library / Python /2.7 / lib / python / site-packages

echo '/usr/local/lib/python2.7/site-packages'> ~ / Library / Python / 2.7 / lib / python / site-packages / homebrew.pth

так что просто сделайте

  mkdir -p ~/Library/Python/2.7/lib/python/site-packages
  echo '/usr/local/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth
2 голосов
/ 01 мая 2011

Если вы заметите вывод первой строки при запуске python, вы увидите, что вы все еще используете предоставленный Apple интерпретатор Python.Попробуйте установить и использовать пакет python-select в MacPorts, а затем повторите инструкции, начиная с шага 2.

Также убедитесь, что вы выполнили все шаги при установке MacPorts, чтобы / usr / local / bin был$ PATH.

0 голосов
/ 22 августа 2012

Еще один «взлом», который я обнаружил во время моей борьбы с использованием CMake (но, возможно, проблема та же с портами): кажется, что расположение модулей Python дублировано на моем Mac OS Lion, по причине, которую я не могу объяснить.

CMake хочет разместить здесь модуль "cv":

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Тогда как мой интерпретатор Python по умолчанию ищет здесь (спасибо PyCharm за сообщение):

/Library/Python/2.7/site-packages

Перемещение файлов cv2.so и cv.py во второе место, мне помогло.Я не знаю, является ли это самым чистым способом.

Надеюсь, это поможет некоторым гуглерам!

...