Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

install pyopencv with pip on Mac OS X

I am trying to install pyopencv with pip in OS X Mountain Lion and it fails by import setuptools. Following is my work. what is "Library" in setuptools? I have not seen that before. I already installed opencv via homebrew and other things. In doucmentation of pyopencv, it doesn't explain installation with pip only source install,

(img2)appleparan@LiamMac src $ brew install cmake
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install cmake --upgrade
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install opencv
Warning: opencv-2.4.6.1 already installed
(img2)appleparan@LiamMac src $ brew install boost
Warning: boost-1.54.0 already installed
(img2)appleparan@LiamMac 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)appleparan@LiamMac 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)appleparan@LiamMac src $ python --version
Python 2.7.5
(img2)appleparan@LiamMac 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)appleparan@LiamMac src $

EDIT: I found setuptools source has Library and Extension (https://bitbucket.org/pypa/setuptools/src/27df3c725f9696ba730456f3f444cc2fb5271d4b/setuptools/extension.py?at=default) But I don't know why it doesn't recognize.

My setuptools' verison is 1.1.6

(img2)appleparan@LiamMac 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)appleparan@LiamMac src $
like image 200
Jongsu Liam Kim Avatar asked Sep 24 '13 12:09

Jongsu Liam Kim


2 Answers

In recent version of setuptools, Library is inside of extension.py. pyopencv should import Library as setuptools.extension.Library not setuptools.Library.

like image 91
Jongsu Liam Kim Avatar answered Nov 18 '22 17:11

Jongsu Liam Kim


change

from setuptools import setup, find_packages, Extension, Library

to

from setuptools import *
from setuptools.extension import *
like image 2
Jan Cajthaml Avatar answered Nov 18 '22 17:11

Jan Cajthaml