#python #macos #opencv #macports
#python #macos #opencv #macports
Вопрос:
(Шаг 1)
Я пытаюсь запустить OpenCV с python на моем Mac, используя установку MacPortshttp://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port , а также пытаюсь следовать руководству маленького гика:
sudo port -v install opencv python26
Он работает около 10 минут без ошибок.
(Шаг 2)
Я загружаю 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, и я, вероятно, использую версию, отличную от стандартной, но для меня это не полезная информация.
Ответ №1:
Некоторое время я боролся с Python на Mac. Вот как я, наконец, (и легко!) установил его. Удалите все элементы Python, которые у вас там уже есть. Вероятно, они будут расположены в /Library / Frameworks /Python.Фреймворк и /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, и это работает действительно хорошо. Удачи.
Комментарии:
1. Спасибо! После прочтения нескольких устаревших сообщений об установке из Интернета, это то, что наконец сработало!
2. Единственным руководством, которое сработало для меня, было это, пришлось сказать спасибо и за комментарий тоже
Ответ №2:
$ brew search opencv
homebrew/science/opencv
$ brew install homebrew/science/opencv
после установки появляется предупреждение:
==> Предостережения, если вам нужен Python для поиска установленных пакетов сайта:
mkdir -p ~/Библиотека/Python/2.7/библиотека/python/site-пакеты
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
Ответ №3:
Если вы заметите вывод первой строки при запуске python, вы увидите, что вы все еще используете интерпретатор Python, поставляемый Apple. Попробуйте установить и использовать пакет python-select в MacPorts, а затем повторите выполнение инструкций, начиная с шага 2.
Также убедитесь, что вы выполнили все шаги при установке MacPorts, чтобы /usr/local/bin находился в $PATH.
Ответ №4:
Еще один «взлом», который я обнаружил во время моих усилий с использованием 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 файлы во втором расположении сделали свое дело за меня. Я не знаю, самый ли это чистый способ.
Надеюсь, это может помочь некоторым пользователям Google!