2013-09-24 3 views
6

Я пытаюсь установить pyopencv с pip в OS X Mountain Lion, и это не удается с помощью setup setupools. Ниже приводится моя работа. что такое «Библиотека» в setuptools? Я этого раньше не видел. Я уже установил opencv через homebrew и другие вещи. В doucmentation из pyopencv, это не объясняет установку с пип установить только источник,установить pyopencv с пипсом на Mac OS X

(img2)[email protected] src $ brew install cmake 
Warning: cmake-2.8.11.2 already installed 
(img2)[email protected] src $ brew install cmake --upgrade 
Warning: cmake-2.8.11.2 already installed 
(img2)[email protected] src $ brew install opencv 
Warning: opencv-2.4.6.1 already installed 
(img2)[email protected] src $ brew install boost 
Warning: boost-1.54.0 already installed 
(img2)[email protected] src $ pip install pyopencv 
Downloading/unpacking pyopencv 
    Could not find a version that satisfies the requirement pyopencv (from versions: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1.0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0, 2.1.0.wr1.2.0-demo, 2.1.0.wr1.2.0) 
Cleaning up... 
No distributions matching the version for pyopencv 
Storing complete log in /Users/appleparan/.pip/pip.log 
(img2)[email protected] src $ pip install pyopencv==2.1.0.wr1.2.0 
Downloading/unpacking pyopencv==2.1.0.wr1.2.0 
    Downloading pyopencv-2.1.0.wr1.2.0.tar.gz (363kB): 363kB downloaded 
    Running setup.py egg_info for package pyopencv 
    Traceback (most recent call last): 
     File "<string>", line 16, in <module> 
     File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module> 
     from setuptools import setup, find_packages, Extension, Library 
    ImportError: cannot import name Library 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 

    File "<string>", line 16, in <module> 

    File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module> 

    from setuptools import setup, find_packages, Extension, Library 

ImportError: cannot import name Library 

---------------------------------------- 
Cleaning up... 
Command python setup.py egg_info failed with error code 1 in /Users/appleparan/.virtualenvs/img2/build/pyopencv 
Storing complete log in /Users/appleparan/.pip/pip.log 
(img2)[email protected] src $ python --version 
Python 2.7.5 
(img2)[email protected] src $ pip freeze 
Pillow==2.1.0 
distribute==0.7.3 
matplotlib==1.3.0 
nose==1.3.0 
numpy==1.7.1 
pyparsing==2.0.1 
python-dateutil==2.1 
scipy==0.12.0 
six==1.4.1 
stevedore==0.12 
tornado==3.1.1 
virtualenv==1.10.1 
virtualenv-clone==0.2.4 
virtualenvwrapper==4.1.1 
wsgiref==0.1.2 
(img2)[email protected] src $ 

EDIT: Я нашел источник Setuptools имеет библиотеки и расширение (https://bitbucket.org/pypa/setuptools/src/27df3c725f9696ba730456f3f444cc2fb5271d4b/setuptools/extension.py?at=default) Но я не знаю, почему он не признает. verison

Мои Setuptools' является 1.1.6

(img2)[email protected] src $ pip install setuptools --upgrade 
Requirement already up-to-date: setuptools in /Users/appleparan/.virtualenvs/img2/lib/python2.7/site-packages/setuptools-1.1.6-py2.7.egg 
Cleaning up... 
(img2)[email protected] src $ 
+0

Установите последнюю версию ['setuptools'] (https://pypi.python.org/pypi/setuptools) вместо' distribute'. – falsetru

+0

Я удалил дистрибутив и не решил мою проблему. –

+0

Вы установили 'setuptools' после удаления' distribute'? – falsetru

ответ

3

В последней версии Setuptools, Library находится внутри extension.py. pyopencv следует импортировать Library как setuptools.extension.Library не setuptools.Library.

+0

Итак ... вы говорите, что нужно «установить установку расширения», и это должно исправить? Или изменить исходный код pyopencl перед его установкой? А если второй ... _различно, что? _ –

+0

Прошло столько времени с этого вопроса. Я не использую opencv сейчас, однако pyopencv, похоже, не поддерживается, и похоже, opencv поддерживает связывание python. см. эту ссылку http://www.jeffreythompson.org/blog/2013/08/22/update-installing-opencv-on-mac-mountain-lion/ (не уверен в yosemite) и как насчет того, чтобы попробовать этот метод? –

2

изменение

from setuptools import setup, find_packages, Extension, Library 

в

from setuptools import * 
from setuptools.extension import * 
0

Вы можете распечатать python для запуска интерпретатора, а затем напечатать, внутри питона:

импорт SYS
sys.path

Ищите линию, похожую на /Library/Python/2.7/site-packages на выходе. Печать exit() для выхода из интерпретатора python.

В командной строке: cd /Library/Python/2.7/site-packages и список файлов с командой ls. Ищите файлы cv.py 'и' cv2.so '. Они должны быть там. Затем обратитесь к команде ~/.bash_profile, выдающей файл cat ~/.bash_profile, чтобы найти PYTHONPATH: должна быть строка, похожая на export PYTHONPATH=/usr/local/lib/python2.7/site-packages. Выполните команду cd /usr/local/lib/python2.7/site-packages, чтобы перейти в эту папку.

Теперь вы можете создать символические ссылки для cv2.so и cv.py выдачи команд: sudo ln -s /usr/local/lib/python2.7/site-packages/cv.py /Library/Python/2.7/site-packages/cv.py и sudo ln -s /usr/local/lib/python2.7/site-packages/cv2.so /Library/Python/2.7/site-packages/cv2.so.

+1

Пожалуйста, подумайте над правильным составлением кода или команд, чтобы сделать ваш ответ более читаемым. Спасибо и приветствую в SA. Также объясните, почему вы решили работать. – Felix